[INFO] fetching crate divans 0.0.1...
[INFO] checking divans-0.0.1 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate divans 0.0.1 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate divans 0.0.1 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate divans 0.0.1
[INFO] finished tweaking crates.io crate divans 0.0.1
[INFO] tweaked toml for crates.io crate divans 0.0.1 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded vergen v0.1.1
[INFO] [stderr]   Downloaded alloc-no-stdlib v1.3.0
[INFO] [stderr]   Downloaded brotli-decompressor v1.3.1
[INFO] [stderr]   Downloaded brotli v2.5.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cc7d8eb2438b6c3f521f8ceccb2aa85e0a9f3a8813ffde8285a4fe007e150611
[INFO] running `Command { std: "docker" "start" "-a" "cc7d8eb2438b6c3f521f8ceccb2aa85e0a9f3a8813ffde8285a4fe007e150611", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cc7d8eb2438b6c3f521f8ceccb2aa85e0a9f3a8813ffde8285a4fe007e150611", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cc7d8eb2438b6c3f521f8ceccb2aa85e0a9f3a8813ffde8285a4fe007e150611", kill_on_drop: false }`
[INFO] [stdout] cc7d8eb2438b6c3f521f8ceccb2aa85e0a9f3a8813ffde8285a4fe007e150611
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ae6740cd8e3e64fee52cdcd901f8a25714f3bbbf0fc9d96fc8fd12a8aca06943
[INFO] running `Command { std: "docker" "start" "-a" "ae6740cd8e3e64fee52cdcd901f8a25714f3bbbf0fc9d96fc8fd12a8aca06943", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling bitflags v0.7.0
[INFO] [stderr]     Checking alloc-no-stdlib v1.3.0
[INFO] [stderr]     Checking brotli-decompressor v1.3.1
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling vergen v0.1.1
[INFO] [stderr]     Checking brotli v2.5.1
[INFO] [stderr]    Compiling divans v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/arithmetic_coder.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn push_data(&mut self, &[u8]) -> usize;
[INFO] [stdout]    |                             ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/arithmetic_coder.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn pop_data(&mut self, &mut [u8]) -> usize;
[INFO] [stdout]    |                            ^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut [u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `Allocator`, `StackAllocator`
[INFO] [stdout]   --> src/cmd_to_raw/mod.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FeatureFlagSliceType`, `LiteralCommand`
[INFO] [stdout]   --> src/cmd_to_raw/mod.rs:22:49
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use super::interface::{Command, Compressor, LiteralCommand, CopyCommand, DictCommand, FeatureFlagSliceType};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `SliceWrapperMut`, `SliceWrapper`, `StackAllocator`
[INFO] [stdout]   --> src/raw_to_cmd/hash_match.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^             ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::slice_util::SliceReference`
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use super::slice_util::SliceReference;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CopyCommand`, `DictCommand`
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:22:91
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use super::interface::{PredictionModeContextMap, Command, Compressor, LiteralCommand, CopyCommand, DictCommand, FeatureFlagSliceType};
[INFO] [stdout]    |                                                                                           ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CrossCommandBookKeeping`
[INFO] [stdout]  --> src/codec/specializations.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use super::interface::{CrossCommandBookKeeping,LiteralBookKeeping};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:87:68
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:87:89
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a CopyCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:88:79
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn get_source_literal_command<'a, ISlice:SliceWrapper<u8>+Default>(&self, &'a Command<ISlice>,
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:89:72
[INFO] [stdout]    |
[INFO] [stdout] 89 | ...                   &'a LiteralCommand<ISlice>) -> &'a LiteralCommand<ISlice>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a LiteralCommand<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:90:68
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:90:89
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a DictCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CrossCommandBookKeeping`
[INFO] [stdout]   --> src/codec/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     CrossCommandBookKeeping,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ans.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 | const SCALE_MASK:u64 = ((1u64 << LOG2_SCALE) - 1);
[INFO] [stdout]     |                        ^                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 - const SCALE_MASK:u64 = ((1u64 << LOG2_SCALE) - 1);
[INFO] [stdout] 139 + const SCALE_MASK:u64 = (1u64 << LOG2_SCALE) - 1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `SliceWrapperMut`, `StackAllocator`
[INFO] [stdout]   --> src/brotli_ir_gen.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use super::alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockSwitch`, `CopyCommand`, `Decompressor`, `DictCommand`, `FeatureFlagSliceType`, `LiteralBlockSwitch`, `LiteralCommand`, `LiteralPredictionModeNibble`, `Nop`, `free_cmd`
[INFO] [stdout]   --> src/brotli_ir_gen.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 | ...::{BlockSwitch, LiteralBlockSwitch, Command, Compressor, CopyCommand, Decompressor, DictCommand, LiteralCommand, Nop, NewWithAllocator, ArithmeticEncoderOrDecoder, LiteralPredictionModeNibble, PredictionModeContextMap, free_cmd, FeatureFlagSliceTy...
[INFO] [stdout]    |       ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^                            ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncoderOrDecoderSpecialization`, `StrideSelection`
[INFO] [stdout]   --> src/brotli_ir_gen.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub use codec::{EncoderOrDecoderSpecialization, DivansCodec, StrideSelection};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]   --> src/divans_compressor.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use super::alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockSwitch`, `CopyCommand`, `Decompressor`, `DictCommand`, `LiteralBlockSwitch`, `LiteralPredictionModeNibble`, `Nop`, `free_cmd`
[INFO] [stdout]   --> src/divans_compressor.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     BlockSwitch,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 33 |     LiteralBlockSwitch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     CopyCommand,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 37 |     Decompressor,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 38 |     DictCommand,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 39 |     LiteralCommand,
[INFO] [stdout] 40 |     Nop,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     LiteralPredictionModeNibble,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     free_cmd,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncoderOrDecoderSpecialization`, `StrideSelection`, `default_crc`
[INFO] [stdout]   --> src/divans_compressor.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub use codec::{EncoderOrDecoderSpecialization, DivansCodec, StrideSelection, default_crc, CommandArray, CommandSliceArray};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]  --> src/reader.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]  --> src/writer.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/arithmetic_coder.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn push_data(&mut self, &[u8]) -> usize;
[INFO] [stdout]    |                             ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/arithmetic_coder.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn pop_data(&mut self, &mut [u8]) -> usize;
[INFO] [stdout]    |                            ^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut [u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `Allocator`, `StackAllocator`
[INFO] [stdout]   --> src/cmd_to_raw/mod.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `SliceWrapperMut`, `SliceWrapper`, `StackAllocator`
[INFO] [stdout]   --> src/raw_to_cmd/hash_match.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^             ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::slice_util::SliceReference`
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use super::slice_util::SliceReference;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CopyCommand`, `DictCommand`
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:22:91
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use super::interface::{PredictionModeContextMap, Command, Compressor, LiteralCommand, CopyCommand, DictCommand, FeatureFlagSliceType};
[INFO] [stdout]    |                                                                                           ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CrossCommandBookKeeping`
[INFO] [stdout]  --> src/codec/specializations.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use super::interface::{CrossCommandBookKeeping,LiteralBookKeeping};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:87:68
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:87:89
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a CopyCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:88:79
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn get_source_literal_command<'a, ISlice:SliceWrapper<u8>+Default>(&self, &'a Command<ISlice>,
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:89:72
[INFO] [stdout]    |
[INFO] [stdout] 89 | ...                   &'a LiteralCommand<ISlice>) -> &'a LiteralCommand<ISlice>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a LiteralCommand<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:90:68
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:90:89
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a DictCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CrossCommandBookKeeping`
[INFO] [stdout]   --> src/codec/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     CrossCommandBookKeeping,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ans.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 | const SCALE_MASK:u64 = ((1u64 << LOG2_SCALE) - 1);
[INFO] [stdout]     |                        ^                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 - const SCALE_MASK:u64 = ((1u64 << LOG2_SCALE) - 1);
[INFO] [stdout] 139 + const SCALE_MASK:u64 = (1u64 << LOG2_SCALE) - 1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `SliceWrapperMut`, `StackAllocator`
[INFO] [stdout]   --> src/brotli_ir_gen.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use super::alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockSwitch`, `CopyCommand`, `Decompressor`, `DictCommand`, `FeatureFlagSliceType`, `LiteralBlockSwitch`, `LiteralCommand`, `LiteralPredictionModeNibble`, `Nop`, `free_cmd`
[INFO] [stdout]   --> src/brotli_ir_gen.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 | ...::{BlockSwitch, LiteralBlockSwitch, Command, Compressor, CopyCommand, Decompressor, DictCommand, LiteralCommand, Nop, NewWithAllocator, ArithmeticEncoderOrDecoder, LiteralPredictionModeNibble, PredictionModeContextMap, free_cmd, FeatureFlagSliceTy...
[INFO] [stdout]    |       ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^                            ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncoderOrDecoderSpecialization`, `StrideSelection`
[INFO] [stdout]   --> src/brotli_ir_gen.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub use codec::{EncoderOrDecoderSpecialization, DivansCodec, StrideSelection};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]   --> src/divans_compressor.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use super::alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockSwitch`, `CopyCommand`, `Decompressor`, `DictCommand`, `LiteralBlockSwitch`, `LiteralPredictionModeNibble`, `Nop`, `free_cmd`
[INFO] [stdout]   --> src/divans_compressor.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     BlockSwitch,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 33 |     LiteralBlockSwitch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     CopyCommand,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 37 |     Decompressor,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 38 |     DictCommand,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 39 |     LiteralCommand,
[INFO] [stdout] 40 |     Nop,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     LiteralPredictionModeNibble,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     free_cmd,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncoderOrDecoderSpecialization`, `StrideSelection`, `default_crc`
[INFO] [stdout]   --> src/divans_compressor.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub use codec::{EncoderOrDecoderSpecialization, DivansCodec, StrideSelection, default_crc, CommandArray, CommandSliceArray};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]  --> src/reader.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]  --> src/writer.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:272:5
[INFO] [stdout]     |
[INFO] [stdout] 272 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 280 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 368 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 386 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:390:5
[INFO] [stdout]     |
[INFO] [stdout] 390 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:393:5
[INFO] [stdout]     |
[INFO] [stdout] 393 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:405:5
[INFO] [stdout]     |
[INFO] [stdout] 405 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]  --> src/ffi/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 4 | use core;
[INFO] [stdout]   | --------- not a free function, impl method or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]  --> src/ffi/interface.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 8 | pub type DivansReturnCode = u8;
[INFO] [stdout]   | ------------------------------- not a free function, impl method or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]   --> src/ffi/interface.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 42 |   #[derive(Clone)]
[INFO] [stdout] 43 | / pub struct CAllocator {
[INFO] [stdout] 44 | |     pub alloc_func: Option<extern "C" fn(data: *mut c_void, size: usize) -> *mut c_void>,
[INFO] [stdout] 45 | |     pub free_func: Option<extern "C" fn(data: *mut c_void, ptr: *mut c_void) -> ()>,
[INFO] [stdout] 46 | |     pub opaque: *mut c_void,
[INFO] [stdout] 47 | | }
[INFO] [stdout]    | |_- not a free function, impl method or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]    --> src/ffi/compressor.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] 268 | / pub struct DivansCompressorState {
[INFO] [stdout] 269 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 270 | |     pub compressor: CompressorState
[INFO] [stdout] 271 | | }
[INFO] [stdout]     | |_- not a free function, impl method or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]   --> src/ffi/decompressor.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 10 | / pub struct DivansDecompressorState {
[INFO] [stdout] 11 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 12 | |     pub decompressor: ::DivansDecompressor<<DecompressorFactory as ::DivansDecompressorFactory<SubclassableAllocator<u8>,  SubclassableAl...
[INFO] [stdout] 13 | |                                            SubclassableAllocator<u8>,
[INFO] [stdout] 14 | |                                            SubclassableAllocator<::DefaultCDF16>,
[INFO] [stdout] 15 | |                                            SubclassableAllocator<StaticCommand>>,
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_- not a free function, impl method or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:272:5
[INFO] [stdout]     |
[INFO] [stdout] 272 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 280 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 368 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 386 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:390:5
[INFO] [stdout]     |
[INFO] [stdout] 390 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:393:5
[INFO] [stdout]     |
[INFO] [stdout] 393 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:405:5
[INFO] [stdout]     |
[INFO] [stdout] 405 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn cause(&self) -> Option<&error::Error> {None}
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn cause(&self) -> Option<&dyn error::Error> {None}
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]  --> src/ffi/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 4 | use core;
[INFO] [stdout]   | --------- not a free function, impl method or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]  --> src/ffi/interface.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 8 | pub type DivansReturnCode = u8;
[INFO] [stdout]   | ------------------------------- not a free function, impl method or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]   --> src/ffi/interface.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 42 |   #[derive(Clone)]
[INFO] [stdout] 43 | / pub struct CAllocator {
[INFO] [stdout] 44 | |     pub alloc_func: Option<extern "C" fn(data: *mut c_void, size: usize) -> *mut c_void>,
[INFO] [stdout] 45 | |     pub free_func: Option<extern "C" fn(data: *mut c_void, ptr: *mut c_void) -> ()>,
[INFO] [stdout] 46 | |     pub opaque: *mut c_void,
[INFO] [stdout] 47 | | }
[INFO] [stdout]    | |_- not a free function, impl method or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]    --> src/ffi/compressor.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] 268 | / pub struct DivansCompressorState {
[INFO] [stdout] 269 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 270 | |     pub compressor: CompressorState
[INFO] [stdout] 271 | | }
[INFO] [stdout]     | |_- not a free function, impl method or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]   --> src/ffi/decompressor.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 10 | / pub struct DivansDecompressorState {
[INFO] [stdout] 11 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 12 | |     pub decompressor: ::DivansDecompressor<<DecompressorFactory as ::DivansDecompressorFactory<SubclassableAllocator<u8>,  SubclassableAl...
[INFO] [stdout] 13 | |                                            SubclassableAllocator<u8>,
[INFO] [stdout] 14 | |                                            SubclassableAllocator<::DefaultCDF16>,
[INFO] [stdout] 15 | |                                            SubclassableAllocator<StaticCommand>>,
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_- not a free function, impl method or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn cause(&self) -> Option<&error::Error> {None}
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn cause(&self) -> Option<&dyn error::Error> {None}
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/copy.rs:91:25
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:175:29
[INFO] [stdout]     |
[INFO] [stdout] 175 |                         let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                             ----^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:231:25
[INFO] [stdout]     |
[INFO] [stdout] 231 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:250:33
[INFO] [stdout]     |
[INFO] [stdout] 250 | ...                   let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                           ----^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/dict.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeBegNib, (ctype,));
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     let mut nibble_prob = superstate.bk.dict_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:139:25
[INFO] [stdout]     |
[INFO] [stdout] 139 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:150:25
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:294:16
[INFO] [stdout]     |
[INFO] [stdout] 294 |            let mut byte_to_encode_val = specialization.get_literal_byte(in_cmd,
[INFO] [stdout]     |                ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:572:25
[INFO] [stdout]     |
[INFO] [stdout] 572 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:600:25
[INFO] [stdout]     |
[INFO] [stdout] 600 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeBegNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:625:25
[INFO] [stdout]     |
[INFO] [stdout] 625 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:640:25
[INFO] [stdout]     |
[INFO] [stdout] 640 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeMantissaNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:707:30
[INFO] [stdout]     |
[INFO] [stdout] 707 |                         Some(mut lc) => {
[INFO] [stdout]     |                              ----^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Only, (0,));
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:195:28
[INFO] [stdout]     |
[INFO] [stdout] 195 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:235:24
[INFO] [stdout]     |
[INFO] [stdout] 235 |                    let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::ContextMapSpeedPalette,
[INFO] [stdout]     |                        ----^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:291:28
[INFO] [stdout]     |
[INFO] [stdout] 291 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Mnemonic, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:320:28
[INFO] [stdout]     |
[INFO] [stdout] 320 |                        let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                            ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:343:24
[INFO] [stdout]     |
[INFO] [stdout] 343 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::FirstNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:363:28
[INFO] [stdout]     |
[INFO] [stdout] 363 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::SecondNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:371:24
[INFO] [stdout]     |
[INFO] [stdout] 371 |                    let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                        ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:395:24
[INFO] [stdout]     |
[INFO] [stdout] 395 |                    let mut prior = if index >= 256 && self.pm.has_context_speeds() {
[INFO] [stdout]     |                        ----^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:401:28
[INFO] [stdout]     |
[INFO] [stdout] 401 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::Mnemonic,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::FirstNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::SecondNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/block_type.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::StrideNibble,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir_optimize/mod.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 let mut should_merge = match should_merge(lit, copy, index, mb, &mut actuary, &mut distance_cache) {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mux.rs:463:20
[INFO] [stdout]     |
[INFO] [stdout] 463 |                let mut is_lagging = max_flush  > MAX_FLUSH_VARIANCE + self.last_flush[index];
[INFO] [stdout]     |                    ----^^^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/copy.rs:91:25
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:175:29
[INFO] [stdout]     |
[INFO] [stdout] 175 |                         let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                             ----^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:231:25
[INFO] [stdout]     |
[INFO] [stdout] 231 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:250:33
[INFO] [stdout]     |
[INFO] [stdout] 250 | ...                   let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                           ----^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/dict.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeBegNib, (ctype,));
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     let mut nibble_prob = superstate.bk.dict_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:139:25
[INFO] [stdout]     |
[INFO] [stdout] 139 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:150:25
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:294:16
[INFO] [stdout]     |
[INFO] [stdout] 294 |            let mut byte_to_encode_val = specialization.get_literal_byte(in_cmd,
[INFO] [stdout]     |                ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:572:25
[INFO] [stdout]     |
[INFO] [stdout] 572 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:600:25
[INFO] [stdout]     |
[INFO] [stdout] 600 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeBegNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:625:25
[INFO] [stdout]     |
[INFO] [stdout] 625 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:640:25
[INFO] [stdout]     |
[INFO] [stdout] 640 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeMantissaNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:707:30
[INFO] [stdout]     |
[INFO] [stdout] 707 |                         Some(mut lc) => {
[INFO] [stdout]     |                              ----^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Only, (0,));
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:195:28
[INFO] [stdout]     |
[INFO] [stdout] 195 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:235:24
[INFO] [stdout]     |
[INFO] [stdout] 235 |                    let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::ContextMapSpeedPalette,
[INFO] [stdout]     |                        ----^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:291:28
[INFO] [stdout]     |
[INFO] [stdout] 291 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Mnemonic, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:320:28
[INFO] [stdout]     |
[INFO] [stdout] 320 |                        let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                            ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:343:24
[INFO] [stdout]     |
[INFO] [stdout] 343 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::FirstNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:363:28
[INFO] [stdout]     |
[INFO] [stdout] 363 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::SecondNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:371:24
[INFO] [stdout]     |
[INFO] [stdout] 371 |                    let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                        ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:395:24
[INFO] [stdout]     |
[INFO] [stdout] 395 |                    let mut prior = if index >= 256 && self.pm.has_context_speeds() {
[INFO] [stdout]     |                        ----^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:401:28
[INFO] [stdout]     |
[INFO] [stdout] 401 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::Mnemonic,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::FirstNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::SecondNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/block_type.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::StrideNibble,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put_8bit` is never used
[INFO] [stdout]    --> src/arithmetic_coder.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 84  | pub trait EntropyEncoder {
[INFO] [stdout]     |           -------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn put_8bit(&mut self,
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/multithreading.rs:52:20
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct ThreadEvent(ThreadEventType, u32, Duration);
[INFO] [stdout]    |        ----------- ^^^^^^^^^^^^^^^  ^^^  ^^^^^^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        fields in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ThreadEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct ThreadEvent((), (), ());
[INFO] [stdout]    |                    ~~  ~~  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 |             let mut q = e.get_internal_buffer_mut();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let mut q = e.get_internal_buffer_mut();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:317:17
[INFO] [stdout]     |
[INFO] [stdout] 317 |             let mut q = d.get_internal_buffer_mut();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let mut q = d.get_internal_buffer_mut();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:380:17
[INFO] [stdout]     |
[INFO] [stdout] 380 |             let mut q = e.get_internal_buffer_mut();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:443:17
[INFO] [stdout]     |
[INFO] [stdout] 443 |             let mut q = d.get_internal_buffer_mut();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir_optimize/mod.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 let mut should_merge = match should_merge(lit, copy, index, mb, &mut actuary, &mut distance_cache) {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mux.rs:463:20
[INFO] [stdout]     |
[INFO] [stdout] 463 |                let mut is_lagging = max_flush  > MAX_FLUSH_VARIANCE + self.last_flush[index];
[INFO] [stdout]     |                    ----^^^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/brotli_ir_gen.rs:131:16
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!(m)
[INFO] [stdout]     |                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!("{}", m)
[INFO] [stdout]     |                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 131 |         std::panic::panic_any(m)
[INFO] [stdout]     |         ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/divans_decompressor.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 | /         core::mem::replace(self,
[INFO] [stdout] 283 | |                            DivansDecompressor::Decode(
[INFO] [stdout] 284 | |                                DivansProcess::<DefaultDecoder, AllocU8, AllocCDF16, AllocCommand> {
[INFO] [stdout] 285 | |                                    codec:Some(codec),
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |                                    mcommand:mcommand,
[INFO] [stdout] 289 | |                                }));
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let _ = core::mem::replace(self,
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     core::mem::replace(copy, CopyCommand::nop());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     let _ = core::mem::replace(copy, CopyCommand::nop());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:219:21
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     core::mem::replace(&mut item_a[0], Command::Copy(CopyCommand::nop())); // replace with a copy
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     let _ = core::mem::replace(&mut item_a[0], Command::Copy(CopyCommand::nop())); // replace with a copy
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/ffi/alloc_util.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 |     Box::from_raw(slice_ref); // free on drop
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 213 |     let _ = Box::from_raw(slice_ref); // free on drop
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 | /                 core::mem::replace(self,
[INFO] [stdout] 177 | |                                    CompressorState::InternalCompressor(
[INFO] [stdout] 178 | |                                        InternalCompressorFactory::new(
[INFO] [stdout] 179 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |                                            opts,
[INFO] [stdout] 183 | |                                            ())));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 let _ = core::mem::replace(self,
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 | /                 core::mem::replace(self,
[INFO] [stdout] 187 | |                                    CompressorState::BrotliCompressor(
[INFO] [stdout] 188 | |                                        BrotliFactory::new(
[INFO] [stdout] 189 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |                                                SubclassableAllocator::<brotli::enc::StaticCommand>::new(allocators.clone()),
[INFO] [stdout] 210 | |                                            ))));
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 let _ = core::mem::replace(self,
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 108 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put_8bit` is never used
[INFO] [stdout]    --> src/arithmetic_coder.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 84  | pub trait EntropyEncoder {
[INFO] [stdout]     |           -------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn put_8bit(&mut self,
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/multithreading.rs:52:20
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct ThreadEvent(ThreadEventType, u32, Duration);
[INFO] [stdout]    |        ----------- ^^^^^^^^^^^^^^^  ^^^  ^^^^^^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        fields in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ThreadEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct ThreadEvent((), (), ());
[INFO] [stdout]    |                    ~~  ~~  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/decompress.rs:25:28
[INFO] [stdout]    |
[INFO] [stdout] 25 |                     panic!(e);
[INFO] [stdout]    |                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 25 |                     panic!("{}", e);
[INFO] [stdout]    |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 25 |                     std::panic::panic_any(e);
[INFO] [stdout]    |                     ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/decompress.rs:32:42
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         Err(e) => panic!(e),
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         Err(e) => panic!("{}", e),
[INFO] [stdout]    |                                          +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         Err(e) => std::panic::panic_any(e),
[INFO] [stdout]    |                                   ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/compress.rs:42:28
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     panic!(e);
[INFO] [stdout]    |                            ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]    = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     panic!("{}", e);
[INFO] [stdout]    |                            +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 42 |                     std::panic::panic_any(e);
[INFO] [stdout]    |                     ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/compress.rs:51:40
[INFO] [stdout]    |
[INFO] [stdout] 51 | ...                   panic!(e)
[INFO] [stdout]    |                              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 51 |                                 panic!("{}", e)
[INFO] [stdout]    |                                        +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 51 |                                 std::panic::panic_any(e)
[INFO] [stdout]    |                                 ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> examples/compress.rs:57:42
[INFO] [stdout]    |
[INFO] [stdout] 57 |                         Err(e) => panic!(e),
[INFO] [stdout]    |                                          ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]    |
[INFO] [stdout] 57 |                         Err(e) => panic!("{}", e),
[INFO] [stdout]    |                                          +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]    |
[INFO] [stdout] 57 |                         Err(e) => std::panic::panic_any(e),
[INFO] [stdout]    |                                   ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:455:20
[INFO] [stdout]     |
[INFO] [stdout] 455 |         let data = try!(util::literal_slice_to_vec(&s.as_bytes()[command_vec[0].len() + command_vec[1].len() + 2..]));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:457:24
[INFO] [stdout]     |
[INFO] [stdout] 457 |             let prob = try!(util::hex_slice_to_vec(command_vec[3].as_bytes()));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:659:21
[INFO] [stdout]     |
[INFO] [stdout] 659 |                     try!(recode_cmd_buffer(&mut state, ibuffer.split_at(i_read_index).0, w,
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:671:23
[INFO] [stdout]     |
[INFO] [stdout] 671 |                 match try!(command_parse(&line)) {
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:956:31
[INFO] [stdout]     |
[INFO] [stdout] 956 |                 window_size = try!(window_parse(&line));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bin/divans.rs:1013:46
[INFO] [stdout]      |
[INFO] [stdout] 1013 |     let mut obuffer = vec![0u8; buffer_size];;
[INFO] [stdout]      |                                              ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/util_prior_stream_cost.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 let mut prior_val: Vec<String> = if let Some(_) = line.find(",") {
[INFO] [stdout]    |                     ----^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> examples/util_prior_stream_cost.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 let mut prior_stream = &mut sub_streams.entry(prior).or_insert(vec::Vec::<u8>::new());
[INFO] [stdout]    |                     ----^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bin/divans.rs:718:63
[INFO] [stdout]     |
[INFO] [stdout] 718 | ...                   free_state: &mut Fn(Compressor)->ItemVecAllocator<u8>) -> io::Result<()> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 718 |                                              free_state: &mut dyn Fn(Compressor)->ItemVecAllocator<u8>) -> io::Result<()> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bin/divans.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn cause(&self) -> Option<&error::Error> {None}
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn cause(&self) -> Option<&dyn error::Error> {None}
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bin/integration_test.rs:71:3
[INFO] [stdout]    |
[INFO] [stdout] 71 |   try!(super::recode(&mut brotli_file,
[INFO] [stdout]    |   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:455:20
[INFO] [stdout]     |
[INFO] [stdout] 455 |         let data = try!(util::literal_slice_to_vec(&s.as_bytes()[command_vec[0].len() + command_vec[1].len() + 2..]));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:457:24
[INFO] [stdout]     |
[INFO] [stdout] 457 |             let prob = try!(util::hex_slice_to_vec(command_vec[3].as_bytes()));
[INFO] [stdout]     |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:659:21
[INFO] [stdout]     |
[INFO] [stdout] 659 |                     try!(recode_cmd_buffer(&mut state, ibuffer.split_at(i_read_index).0, w,
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:671:23
[INFO] [stdout]     |
[INFO] [stdout] 671 |                 match try!(command_parse(&line)) {
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bin/divans.rs:956:31
[INFO] [stdout]     |
[INFO] [stdout] 956 |                 window_size = try!(window_parse(&line));
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bin/divans.rs:1013:46
[INFO] [stdout]      |
[INFO] [stdout] 1013 |     let mut obuffer = vec![0u8; buffer_size];;
[INFO] [stdout]      |                                              ^ help: remove this semicolon
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bin/divans.rs:718:63
[INFO] [stdout]     |
[INFO] [stdout] 718 | ...                   free_state: &mut Fn(Compressor)->ItemVecAllocator<u8>) -> io::Result<()> {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 718 |                                              free_state: &mut dyn Fn(Compressor)->ItemVecAllocator<u8>) -> io::Result<()> {
[INFO] [stdout]     |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bin/divans.rs:103:32
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn cause(&self) -> Option<&error::Error> {None}
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn cause(&self) -> Option<&dyn error::Error> {None}
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:169:43
[INFO] [stdout]     |
[INFO] [stdout] 169 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:329:47
[INFO] [stdout]     |
[INFO] [stdout] 329 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:350:60
[INFO] [stdout]     |
[INFO] [stdout] 350 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:366:47
[INFO] [stdout]     |
[INFO] [stdout] 366 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:377:47
[INFO] [stdout]     |
[INFO] [stdout] 377 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:393:47
[INFO] [stdout]     |
[INFO] [stdout] 393 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:409:47
[INFO] [stdout]     |
[INFO] [stdout] 409 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:416:47
[INFO] [stdout]     |
[INFO] [stdout] 416 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:425:55
[INFO] [stdout]     |
[INFO] [stdout] 425 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:449:51
[INFO] [stdout]     |
[INFO] [stdout] 449 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/probability/numeric.rs:78:23
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for n in nums.into_iter() {
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for n in nums.iter() {
[INFO] [stdout]    |                       ~~~~
[INFO] [stdout] help: or remove `.into_iter()` to iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 78 -         for n in nums.into_iter() {
[INFO] [stdout] 78 +         for n in nums {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/probability/numeric.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |             for d in denoms.into_iter() {
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 79 |             for d in denoms.iter() {
[INFO] [stdout]    |                             ~~~~
[INFO] [stdout] help: or remove `.into_iter()` to iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 79 -             for d in denoms.into_iter() {
[INFO] [stdout] 79 +             for d in denoms {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/brotli_ir_gen.rs:131:16
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!(m)
[INFO] [stdout]     |                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!("{}", m)
[INFO] [stdout]     |                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 131 |         std::panic::panic_any(m)
[INFO] [stdout]     |         ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:169:43
[INFO] [stdout]     |
[INFO] [stdout] 169 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/divans_decompressor.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 | /         core::mem::replace(self,
[INFO] [stdout] 283 | |                            DivansDecompressor::Decode(
[INFO] [stdout] 284 | |                                DivansProcess::<DefaultDecoder, AllocU8, AllocCDF16, AllocCommand> {
[INFO] [stdout] 285 | |                                    codec:Some(codec),
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |                                    mcommand:mcommand,
[INFO] [stdout] 289 | |                                }));
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let _ = core::mem::replace(self,
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     core::mem::replace(copy, CopyCommand::nop());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     let _ = core::mem::replace(copy, CopyCommand::nop());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:329:47
[INFO] [stdout]     |
[INFO] [stdout] 329 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:219:21
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     core::mem::replace(&mut item_a[0], Command::Copy(CopyCommand::nop())); // replace with a copy
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     let _ = core::mem::replace(&mut item_a[0], Command::Copy(CopyCommand::nop())); // replace with a copy
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:350:60
[INFO] [stdout]     |
[INFO] [stdout] 350 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:366:47
[INFO] [stdout]     |
[INFO] [stdout] 366 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:377:47
[INFO] [stdout]     |
[INFO] [stdout] 377 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:393:47
[INFO] [stdout]     |
[INFO] [stdout] 393 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/ffi/alloc_util.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 |     Box::from_raw(slice_ref); // free on drop
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 213 |     let _ = Box::from_raw(slice_ref); // free on drop
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 | /                 core::mem::replace(self,
[INFO] [stdout] 177 | |                                    CompressorState::InternalCompressor(
[INFO] [stdout] 178 | |                                        InternalCompressorFactory::new(
[INFO] [stdout] 179 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |                                            opts,
[INFO] [stdout] 183 | |                                            ())));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 let _ = core::mem::replace(self,
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:409:47
[INFO] [stdout]     |
[INFO] [stdout] 409 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 | /                 core::mem::replace(self,
[INFO] [stdout] 187 | |                                    CompressorState::BrotliCompressor(
[INFO] [stdout] 188 | |                                        BrotliFactory::new(
[INFO] [stdout] 189 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |                                                SubclassableAllocator::<brotli::enc::StaticCommand>::new(allocators.clone()),
[INFO] [stdout] 210 | |                                            ))));
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 let _ = core::mem::replace(self,
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:416:47
[INFO] [stdout]     |
[INFO] [stdout] 416 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/reader.rs:401:32
[INFO] [stdout]     |
[INFO] [stdout] 401 |                         panic!(e)
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 401 |                         panic!("{}", e)
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 401 |                         std::panic::panic_any(e)
[INFO] [stdout]     |                         ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/reader.rs:431:38
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     Err(e) => panic!(e),
[INFO] [stdout]     |                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |                               ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:425:55
[INFO] [stdout]     |
[INFO] [stdout] 425 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/writer.rs:364:38
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     Err(e) => panic!(e),
[INFO] [stdout]     |                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |                               ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/writer.rs:374:25
[INFO] [stdout]     |
[INFO] [stdout] 374 |                  panic!(e);
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 374 |                  panic!("{}", e);
[INFO] [stdout]     |                         +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 374 |                  std::panic::panic_any(e);
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/writer.rs:399:38
[INFO] [stdout]     |
[INFO] [stdout] 399 |                     Err(e) => panic!(e),
[INFO] [stdout]     |                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 399 |                     Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 399 |                     Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |                               ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/writer.rs:409:25
[INFO] [stdout]     |
[INFO] [stdout] 409 |                  panic!(e);
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 409 |                  panic!("{}", e);
[INFO] [stdout]     |                         +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 409 |                  std::panic::panic_any(e);
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]    --> src/bin/divans.rs:449:51
[INFO] [stdout]     |
[INFO] [stdout] 449 | ...                   msg.description()));
[INFO] [stdout]     |                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 18 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 121 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/bin/integration_test.rs:222:24
[INFO] [stdout]     |
[INFO] [stdout] 222 |         need => panic!(need),
[INFO] [stdout]     |                        ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{:?}" format string to use the `Debug` implementation of `DivansOutputResult`
[INFO] [stdout]     |
[INFO] [stdout] 222 |         need => panic!("{:?}", need),
[INFO] [stdout]     |                        +++++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 222 |         need => std::panic::panic_any(need),
[INFO] [stdout]     |                 ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 20 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.75s
[INFO] running `Command { std: "docker" "inspect" "ae6740cd8e3e64fee52cdcd901f8a25714f3bbbf0fc9d96fc8fd12a8aca06943", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ae6740cd8e3e64fee52cdcd901f8a25714f3bbbf0fc9d96fc8fd12a8aca06943", kill_on_drop: false }`
[INFO] [stdout] ae6740cd8e3e64fee52cdcd901f8a25714f3bbbf0fc9d96fc8fd12a8aca06943
[INFO] checking divans-0.0.1 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate divans 0.0.1 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate divans 0.0.1 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate divans 0.0.1
[INFO] finished tweaking crates.io crate divans 0.0.1
[INFO] tweaked toml for crates.io crate divans 0.0.1 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 7dd5434034624c331dc624043509e1bd72f621fdb0f92248d713e9c3a401c767
[INFO] running `Command { std: "docker" "start" "-a" "7dd5434034624c331dc624043509e1bd72f621fdb0f92248d713e9c3a401c767", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7dd5434034624c331dc624043509e1bd72f621fdb0f92248d713e9c3a401c767", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7dd5434034624c331dc624043509e1bd72f621fdb0f92248d713e9c3a401c767", kill_on_drop: false }`
[INFO] [stdout] 7dd5434034624c331dc624043509e1bd72f621fdb0f92248d713e9c3a401c767
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5940b81036e4ba6342f1e0a49be3d8acc7e62e8a68fbcd5a0b738c9ba7dc2c7a
[INFO] running `Command { std: "docker" "start" "-a" "5940b81036e4ba6342f1e0a49be3d8acc7e62e8a68fbcd5a0b738c9ba7dc2c7a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling bitflags v0.7.0
[INFO] [stderr]     Checking alloc-no-stdlib v1.3.0
[INFO] [stderr]     Checking brotli-decompressor v1.3.1
[INFO] [stderr]    Compiling time v0.1.45
[INFO] [stderr]    Compiling vergen v0.1.1
[INFO] [stderr]     Checking brotli v2.5.1
[INFO] [stderr]    Compiling divans v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slice_util.rs:213:66
[INFO] [stdout]     |
[INFO] [stdout] 213 |         AllocatedMemoryRange(AllocT::AllocatedMemory::default(), 0..0)
[INFO] [stdout]     |                                                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slice_util.rs:237:63
[INFO] [stdout]     |
[INFO] [stdout] 237 |         AllocatedMemoryRange::<T, AllocT>(m8.alloc_cell(len), 0..len)
[INFO] [stdout]     |                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/probability/common_tests.rs:130:16
[INFO] [stdout]     |
[INFO] [stdout] 130 |     for sym in 0..16 {
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/probability/common_tests.rs:140:16
[INFO] [stdout]     |
[INFO] [stdout] 140 |     for sym in 0..16 {
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/interface.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |         for i in 0..Self::num_symbols() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/external_cdf.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 |         for nibble in 0..16 {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/external_cdf.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |             for bit in 0..4 {
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/external_cdf.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 |         for nibble in 1..16 {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/external_cdf.rs:50:23
[INFO] [stdout]    |
[INFO] [stdout] 50 |         for nibble in 0..16 {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/external_cdf.rs:61:23
[INFO] [stdout]    |
[INFO] [stdout] 61 |         for nibble in 0..16 {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/blend_cdf.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     for i in 0..8 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/blend_cdf.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |     for i in 8..16 {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/probability/blend_cdf.rs:120:22
[INFO] [stdout]     |
[INFO] [stdout] 120 |             for i in 0..16 {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/probability/blend_cdf.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 142 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/frequentist_cdf.rs:77:18
[INFO] [stdout]    |
[INFO] [stdout] 77 |         for i in (symbol as usize)..16 {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/frequentist_cdf.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |             for i in 0..16 {
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/arithmetic_coder.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn push_data(&mut self, &[u8]) -> usize;
[INFO] [stdout]    |                             ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/arithmetic_coder.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn pop_data(&mut self, &mut [u8]) -> usize;
[INFO] [stdout]    |                            ^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut [u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/arithmetic_coder.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |         for i in 0..core::mem::size_of::<FixedRegister>() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:125:18
[INFO] [stdout]     |
[INFO] [stdout] 125 |         for i in 0..true_probabilities.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:170:18
[INFO] [stdout]     |
[INFO] [stdout] 170 |         for i in 0..true_probabilities.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `Allocator`, `StackAllocator`
[INFO] [stdout]   --> src/cmd_to_raw/mod.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FeatureFlagSliceType`, `LiteralCommand`
[INFO] [stdout]   --> src/cmd_to_raw/mod.rs:22:49
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use super::interface::{Command, Compressor, LiteralCommand, CopyCommand, DictCommand, FeatureFlagSliceType};
[INFO] [stdout]    |                                                 ^^^^^^^^^^^^^^                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/cmd_to_raw/mod.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |         for i in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/cmd_to_raw/mod.rs:95:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |             output[*output_offset..(*output_offset + amount_to_copy)].clone_from_slice(
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/cmd_to_raw/mod.rs:96:43
[INFO] [stdout]    |
[INFO] [stdout] 96 |                   &self.ring_buffer.slice()[self.state.ring_buffer_output_index as usize..(self.state.ring_buffer_output_index as usize
[INFO] [stdout]    |  ___________________________________________^
[INFO] [stdout] 97 | |                                                                          + amount_to_copy)]);
[INFO] [stdout]    | |__________________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/mod.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 227 |         for i in (self.state.input_sub_offset as usize)..(copy.num_bytes as usize){
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/mod.rs:255:23
[INFO] [stdout]     |
[INFO] [stdout] 255 |             for _i in 0..num_repeat_iter {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/mod.rs:290:26
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let word = &dict[(word_index as usize)..(word_index as usize + copy_len as usize)];
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `SliceWrapperMut`, `SliceWrapper`, `StackAllocator`
[INFO] [stdout]   --> src/raw_to_cmd/hash_match.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^             ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::slice_util::SliceReference`
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use super::slice_util::SliceReference;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CopyCommand`, `DictCommand`
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:22:91
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use super::interface::{PredictionModeContextMap, Command, Compressor, LiteralCommand, CopyCommand, DictCommand, FeatureFlagSliceType};
[INFO] [stdout]    |                                                                                           ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 | ...   self.ring_buffer.slice_mut()[(self.ring_buffer_decode_index as usize)..(self.ring_buffer_decode_index as usize + max_copy)].clone_f...
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:66:161
[INFO] [stdout]    |
[INFO] [stdout] 66 | ...as usize + max_copy)].clone_from_slice(&input[*input_offset..(*input_offset + max_copy)]);
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:79:41
[INFO] [stdout]    |
[INFO] [stdout] 79 | ...   self.ring_buffer.slice_mut()[(self.ring_buffer_decode_index as usize)..(self.ring_buffer_decode_index as usize + max_copy)].clone_f...
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:79:160
[INFO] [stdout]    |
[INFO] [stdout] 79 | ...as usize + max_copy)].clone_from_slice(&input[*input_offset..(*input_offset + max_copy)]);
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/raw_to_cmd/mod.rs:120:58
[INFO] [stdout]     |
[INFO] [stdout] 120 |             for (index, item) in prediction_mode_backing[super::interface::DISTANCE_CONTEXT_MAP_OFFSET..].iter_mut().enumerate() {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/raw_to_cmd/mod.rs:123:49
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...on_mode_backing[super::interface::MIXING_OFFSET..super::interface::MIXING_OFFSET + super::interface::NUM_MIXING_VALUES].iter_mut() {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CrossCommandBookKeeping`
[INFO] [stdout]  --> src/codec/specializations.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use super::interface::{CrossCommandBookKeeping,LiteralBookKeeping};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/crc32_table.rs:594:14
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for i in 0..256 {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/crc32_table.rs:596:18
[INFO] [stdout]     |
[INFO] [stdout] 596 |         for j in 1..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/crc32_table.rs:602:14
[INFO] [stdout]     |
[INFO] [stdout] 602 |     for j in 0..16 {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/crc32_table.rs:617:14
[INFO] [stdout]     |
[INFO] [stdout] 617 |     for i in 0u32..256u32 {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/crc32_table.rs:619:18
[INFO] [stdout]     |
[INFO] [stdout] 619 |         for _ in 0..8 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:87:68
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:87:89
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a CopyCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:88:79
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn get_source_literal_command<'a, ISlice:SliceWrapper<u8>+Default>(&self, &'a Command<ISlice>,
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:89:72
[INFO] [stdout]    |
[INFO] [stdout] 89 | ...                   &'a LiteralCommand<ISlice>) -> &'a LiteralCommand<ISlice>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a LiteralCommand<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:90:68
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:90:89
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a DictCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/codec/interface.rs:306:60
[INFO] [stdout]     |
[INFO] [stdout] 306 |         for (out_item, in_item) in self.literal_adaptation[2..].iter_mut().zip(pm.context_map_speed_f8().iter()) {
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/interface.rs:444:35
[INFO] [stdout]     |
[INFO] [stdout] 444 |                     self.cmap_lru[1..index + 1].clone_from_slice(&tmp[..index]);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/codec/interface.rs:445:35
[INFO] [stdout]     |
[INFO] [stdout] 445 |                     self.cmap_lru[index + 1..].clone_from_slice(&tmp[(index + 1)..]);
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/codec/interface.rs:445:70
[INFO] [stdout]     |
[INFO] [stdout] 445 |                     self.cmap_lru[index + 1..].clone_from_slice(&tmp[(index + 1)..]);
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/codec/interface.rs:450:31
[INFO] [stdout]     |
[INFO] [stdout] 450 |                 self.cmap_lru[1..].clone_from_slice(&tmp[..(tmp.len() - 1)]);
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/interface.rs:470:18
[INFO] [stdout]     |
[INFO] [stdout] 470 |         for i in 0..15 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CrossCommandBookKeeping`
[INFO] [stdout]   --> src/codec/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     CrossCommandBookKeeping,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/copy.rs:241:52
[INFO] [stdout]     |
[INFO] [stdout] 241 |                     for next_len_remaining_sr2 in (0..((start_len_remaining as usize + 3) >> 2)).rev() {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/dict.rs:158:38
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     let word = &dict[(self.dc.word_id as usize)..(self.dc.word_id as usize + self.dc.word_size as usize)];
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/literal.rs:293:59
[INFO] [stdout]     |
[INFO] [stdout] 293 |       for (byte_offset, lc_target) in lc_data.slice_mut()[start_byte_index..last_llen as usize].iter_mut().enumerate() {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/mod.rs:458:34
[INFO] [stdout]     |
[INFO] [stdout] 458 |                     for index in 0..NUM_ARITHMETIC_CODERS {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/mod.rs:487:34
[INFO] [stdout]     |
[INFO] [stdout] 487 |                     for index in 0..NUM_ARITHMETIC_CODERS {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/ans.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         &sl[self.nbytes ..  sl.len()]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ans.rs:123:36
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let sl = self.data.slice()[self.nbytes .. self.nbytes + n].iter();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ans.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 | const SCALE_MASK:u64 = ((1u64 << LOG2_SCALE) - 1);
[INFO] [stdout]     |                        ^                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 - const SCALE_MASK:u64 = ((1u64 << LOG2_SCALE) - 1);
[INFO] [stdout] 139 + const SCALE_MASK:u64 = (1u64 << LOG2_SCALE) - 1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ans.rs:199:22
[INFO] [stdout]     |
[INFO] [stdout] 199 |             for i in 0..bytes_to_copy {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ans.rs:210:18
[INFO] [stdout]     |
[INFO] [stdout] 210 |         for i in 0..bytes_to_copy {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `SliceWrapperMut`, `StackAllocator`
[INFO] [stdout]   --> src/brotli_ir_gen.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use super::alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockSwitch`, `CopyCommand`, `Decompressor`, `DictCommand`, `FeatureFlagSliceType`, `LiteralBlockSwitch`, `LiteralCommand`, `LiteralPredictionModeNibble`, `Nop`, `free_cmd`
[INFO] [stdout]   --> src/brotli_ir_gen.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 | ...::{BlockSwitch, LiteralBlockSwitch, Command, Compressor, CopyCommand, Decompressor, DictCommand, LiteralCommand, Nop, NewWithAllocator, ArithmeticEncoderOrDecoder, LiteralPredictionModeNibble, PredictionModeContextMap, free_cmd, FeatureFlagSliceTy...
[INFO] [stdout]    |       ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^                            ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncoderOrDecoderSpecialization`, `StrideSelection`
[INFO] [stdout]   --> src/brotli_ir_gen.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub use codec::{EncoderOrDecoderSpecialization, DivansCodec, StrideSelection};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]   --> src/divans_compressor.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use super::alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockSwitch`, `CopyCommand`, `Decompressor`, `DictCommand`, `LiteralBlockSwitch`, `LiteralPredictionModeNibble`, `Nop`, `free_cmd`
[INFO] [stdout]   --> src/divans_compressor.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     BlockSwitch,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 33 |     LiteralBlockSwitch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     CopyCommand,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 37 |     Decompressor,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 38 |     DictCommand,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 39 |     LiteralCommand,
[INFO] [stdout] 40 |     Nop,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     LiteralPredictionModeNibble,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     free_cmd,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncoderOrDecoderSpecialization`, `StrideSelection`, `default_crc`
[INFO] [stdout]   --> src/divans_compressor.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub use codec::{EncoderOrDecoderSpecialization, DivansCodec, StrideSelection, default_crc, CommandArray, CommandSliceArray};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 |     retval[0..interface::MAGIC_NUMBER.len()].clone_from_slice(&interface::MAGIC_NUMBER[..]);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:134:32
[INFO] [stdout]     |
[INFO] [stdout] 134 |    for (thawed, frozen) in ret[start_index..end_index].iter_mut().zip(input[start_index..end_index].iter()) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:134:77
[INFO] [stdout]     |
[INFO] [stdout] 134 |    for (thawed, frozen) in ret[start_index..end_index].iter_mut().zip(input[start_index..end_index].iter()) {
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:157:50
[INFO] [stdout]     |
[INFO] [stdout] 157 |           let to_write = &make_header(window_size)[*header_progress..
[INFO] [stdout]     |  __________________________________________________^
[INFO] [stdout] 158 | |                                                  (*header_progress + bytes_avail)];
[INFO] [stdout]     | |_________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:166:46
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let to_write = &make_header(window_size)[*header_progress..];
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 167 |     output[*output_offset..(*output_offset + interface::HEADER_LENGTH - *header_progress)].clone_from_slice(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:332:34
[INFO] [stdout]     |
[INFO] [stdout] 332 |                         &temp_bs[out_cmd_offset..temp_cmd_offset]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:415:34
[INFO] [stdout]     |
[INFO] [stdout] 415 |                         &temp_bs[out_cmd_offset..temp_cmd_offset]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/divans_decompressor.rs:62:34
[INFO] [stdout]    |
[INFO] [stdout] 62 |             header_parser.header[header_parser.read_offset..].clone_from_slice(
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/divans_decompressor.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 |               header_parser.header[(header_parser.read_offset)..
[INFO] [stdout]    |  __________________________________^
[INFO] [stdout] 74 | |                                  (header_parser.read_offset+remaining)].clone_from_slice(
[INFO] [stdout]    | |______________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_decompressor.rs:169:26
[INFO] [stdout]     |
[INFO] [stdout] 169 |             for index in 0..NUM_ARITHMETIC_CODERS {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parallel_decompressor.rs:162:26
[INFO] [stdout]     |
[INFO] [stdout] 162 |             for index in 0..NUM_ARITHMETIC_CODERS {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/ir_optimize/cache.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |         for code in 0..15 {
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ir_optimize/mod.rs:190:18
[INFO] [stdout]     |
[INFO] [stdout] 190 |     for index in 1..orig_buf.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ir_optimize/mod.rs:246:18
[INFO] [stdout]     |
[INFO] [stdout] 246 |     for index in eligible_index..orig_buf.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ir_optimize/mod.rs:265:18
[INFO] [stdout]     |
[INFO] [stdout] 265 |     for index in 0..orig_buf.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mux.rs:171:22
[INFO] [stdout]     |
[INFO] [stdout] 171 |         for index in 0..NUM_STREAMS {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mux.rs:214:22
[INFO] [stdout]     |
[INFO] [stdout] 214 |         for index in 0..NUM_STREAMS as usize {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mux.rs:312:26
[INFO] [stdout]     |
[INFO] [stdout] 312 |                 for i in 0..hdr.len(){
[INFO] [stdout]     |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mux.rs:319:26
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 for i in 0..hdr.len(){
[INFO] [stdout]     |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mux.rs:454:38
[INFO] [stdout]     |
[INFO] [stdout] 454 |            for lf in self.last_flush[1..].iter() {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mux.rs:462:25
[INFO] [stdout]     |
[INFO] [stdout] 462 |            for index in 0..(NUM_STREAMS as usize) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mux.rs:538:26
[INFO] [stdout]     |
[INFO] [stdout] 538 |             for index in 0..(NUM_STREAMS as usize) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]  --> src/reader.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/reader.rs:53:73
[INFO] [stdout]    |
[INFO] [stdout] 53 |                match self.input.read(&mut self.input_buffer.slice_mut()[self.input_len..]) {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/reader.rs:130:19
[INFO] [stdout]     |
[INFO] [stdout] 130 |             first[0..avail_in].clone_from_slice(&second[0..avail_in]);
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/reader.rs:130:57
[INFO] [stdout]     |
[INFO] [stdout] 130 |             first[0..avail_in].clone_from_slice(&second[0..avail_in]);
[INFO] [stdout]     |                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]  --> src/writer.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slice_util.rs:213:66
[INFO] [stdout]     |
[INFO] [stdout] 213 |         AllocatedMemoryRange(AllocT::AllocatedMemory::default(), 0..0)
[INFO] [stdout]     |                                                                  ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/slice_util.rs:237:63
[INFO] [stdout]     |
[INFO] [stdout] 237 |         AllocatedMemoryRange::<T, AllocT>(m8.alloc_cell(len), 0..len)
[INFO] [stdout]     |                                                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]  --> src/probability/common_tests.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 |     for i in 0..100 {
[INFO] [stdout]   |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]  --> src/probability/common_tests.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 |         for sym in 0..16 {
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/common_tests.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     for i in 0..100 {
[INFO] [stdout]    |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/common_tests.rs:29:20
[INFO] [stdout]    |
[INFO] [stdout] 29 |         for val in 0..(1i32 << LOG2_SCALE) {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/common_tests.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |     for i in 0..16 {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/common_tests.rs:71:14
[INFO] [stdout]    |
[INFO] [stdout] 71 |     for i in 0..num_trials {
[INFO] [stdout]    |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/common_tests.rs:73:18
[INFO] [stdout]    |
[INFO] [stdout] 73 |         for j in 0..16 {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/common_tests.rs:83:14
[INFO] [stdout]    |
[INFO] [stdout] 83 |     for i in 0..16 {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/common_tests.rs:97:14
[INFO] [stdout]    |
[INFO] [stdout] 97 |     for _ in 0..1000000 {
[INFO] [stdout]    |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/probability/common_tests.rs:100:14
[INFO] [stdout]     |
[INFO] [stdout] 100 |     for i in 0..15 {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/probability/common_tests.rs:130:16
[INFO] [stdout]     |
[INFO] [stdout] 130 |     for sym in 0..16 {
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/probability/common_tests.rs:140:16
[INFO] [stdout]     |
[INFO] [stdout] 140 |     for sym in 0..16 {
[INFO] [stdout]     |                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/interface.rs:87:18
[INFO] [stdout]    |
[INFO] [stdout] 87 |         for i in 0..Self::num_symbols() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/external_cdf.rs:27:23
[INFO] [stdout]    |
[INFO] [stdout] 27 |         for nibble in 0..16 {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/external_cdf.rs:29:24
[INFO] [stdout]    |
[INFO] [stdout] 29 |             for bit in 0..4 {
[INFO] [stdout]    |                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/external_cdf.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 |         for nibble in 1..16 {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/external_cdf.rs:50:23
[INFO] [stdout]    |
[INFO] [stdout] 50 |         for nibble in 0..16 {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/external_cdf.rs:61:23
[INFO] [stdout]    |
[INFO] [stdout] 61 |         for nibble in 0..16 {
[INFO] [stdout]    |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/blend_cdf.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     for i in 0..8 {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/blend_cdf.rs:48:14
[INFO] [stdout]    |
[INFO] [stdout] 48 |     for i in 8..16 {
[INFO] [stdout]    |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/probability/blend_cdf.rs:120:22
[INFO] [stdout]     |
[INFO] [stdout] 120 |             for i in 0..16 {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/probability/blend_cdf.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 142 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/probability/blend_cdf.rs:217:18
[INFO] [stdout]     |
[INFO] [stdout] 217 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/probability/blend_cdf.rs:220:22
[INFO] [stdout]     |
[INFO] [stdout] 220 |             for j in 0..16 {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/frequentist_cdf.rs:77:18
[INFO] [stdout]    |
[INFO] [stdout] 77 |         for i in (symbol as usize)..16 {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/probability/frequentist_cdf.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |             for i in 0..16 {
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:386:22
[INFO] [stdout]     |
[INFO] [stdout] 386 |             for i in 0..TestPriorSetImpl::num_prior(&t) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:388:26
[INFO] [stdout]     |
[INFO] [stdout] 388 |                 for j in 0..16 {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:396:22
[INFO] [stdout]     |
[INFO] [stdout] 396 |             for i in 0..TestPriorSetImpl::num_prior(&t) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:398:26
[INFO] [stdout]     |
[INFO] [stdout] 398 |                 for j in 0..i {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:406:22
[INFO] [stdout]     |
[INFO] [stdout] 406 |             for i in 0..TestPriorSetImpl::num_prior(&t) {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:409:26
[INFO] [stdout]     |
[INFO] [stdout] 409 |                 for j in 0..i {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:412:26
[INFO] [stdout]     |
[INFO] [stdout] 412 |                 for j in 0..16 {
[INFO] [stdout]     |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:425:18
[INFO] [stdout]     |
[INFO] [stdout] 425 |         for i in 0..5 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:426:22
[INFO] [stdout]     |
[INFO] [stdout] 426 |             for j in 0..8 {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:427:26
[INFO] [stdout]     |
[INFO] [stdout] 427 |                 for k in 0..2 {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:430:30
[INFO] [stdout]     |
[INFO] [stdout] 430 |                     for l in 0..i {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:433:39
[INFO] [stdout]     |
[INFO] [stdout] 433 |                         for symbol in 0..16 {
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:437:30
[INFO] [stdout]     |
[INFO] [stdout] 437 |                     for l in 0..j {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:440:39
[INFO] [stdout]     |
[INFO] [stdout] 440 |                         for symbol in 0..16 {
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:444:30
[INFO] [stdout]     |
[INFO] [stdout] 444 |                     for l in 0..k {
[INFO] [stdout]     |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/priors.rs:447:39
[INFO] [stdout]     |
[INFO] [stdout] 447 |                         for symbol in 0..16 {
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/arithmetic_coder.rs:25:29
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn push_data(&mut self, &[u8]) -> usize;
[INFO] [stdout]    |                             ^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &[u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/arithmetic_coder.rs:27:28
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn pop_data(&mut self, &mut [u8]) -> usize;
[INFO] [stdout]    |                            ^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &mut [u8]`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/arithmetic_coder.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |         for i in 0..core::mem::size_of::<FixedRegister>() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:125:18
[INFO] [stdout]     |
[INFO] [stdout] 125 |         for i in 0..true_probabilities.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:170:18
[INFO] [stdout]     |
[INFO] [stdout] 170 |         for i in 0..true_probabilities.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:349:18
[INFO] [stdout]     |
[INFO] [stdout] 349 |         for i in 0..4 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:371:18
[INFO] [stdout]     |
[INFO] [stdout] 371 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:372:22
[INFO] [stdout]     |
[INFO] [stdout] 372 |             for j in 0..i {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:383:18
[INFO] [stdout]     |
[INFO] [stdout] 383 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:386:18
[INFO] [stdout]     |
[INFO] [stdout] 386 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:397:18
[INFO] [stdout]     |
[INFO] [stdout] 397 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:400:18
[INFO] [stdout]     |
[INFO] [stdout] 400 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:411:18
[INFO] [stdout]     |
[INFO] [stdout] 411 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:412:22
[INFO] [stdout]     |
[INFO] [stdout] 412 |             for j in 0..i {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:423:18
[INFO] [stdout]     |
[INFO] [stdout] 423 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:429:18
[INFO] [stdout]     |
[INFO] [stdout] 429 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:433:18
[INFO] [stdout]     |
[INFO] [stdout] 433 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:444:18
[INFO] [stdout]     |
[INFO] [stdout] 444 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:450:18
[INFO] [stdout]     |
[INFO] [stdout] 450 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/arithmetic_coder.rs:454:18
[INFO] [stdout]     |
[INFO] [stdout] 454 |         for i in 0..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `Allocator`, `StackAllocator`
[INFO] [stdout]   --> src/cmd_to_raw/mod.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^                                 ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/cmd_to_raw/test.rs:50:18
[INFO] [stdout]    |
[INFO] [stdout] 50 |     for index in 0..6 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:101:18
[INFO] [stdout]     |
[INFO] [stdout] 101 |     for index in 0..6 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:161:15
[INFO] [stdout]     |
[INFO] [stdout] 161 |     for _i in 0..4 {
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:176:46
[INFO] [stdout]     |
[INFO] [stdout] 176 |     first_copy_data.clone_from_slice(&buffer[(TEST_RING_SIZE - 112)..(TEST_RING_SIZE - 112 + 29)]);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:178:70
[INFO] [stdout]     |
[INFO] [stdout] 178 |     scratch_buffer[..(TEST_RING_SIZE - 29)].clone_from_slice(&buffer[29..]);
[INFO] [stdout]     |                                                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:179:20
[INFO] [stdout]     |
[INFO] [stdout] 179 |     scratch_buffer[(TEST_RING_SIZE - 29)..].clone_from_slice(&first_copy_data[..]);
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:189:14
[INFO] [stdout]     |
[INFO] [stdout] 189 |     for i in 0..TEST_RING_SIZE {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:206:15
[INFO] [stdout]     |
[INFO] [stdout] 206 |     for _i in 0..4 {
[INFO] [stdout]     |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:219:46
[INFO] [stdout]     |
[INFO] [stdout] 219 |     first_copy_data.clone_from_slice(&buffer[(TEST_RING_SIZE - 15)..TEST_RING_SIZE]);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:225:30
[INFO] [stdout]     |
[INFO] [stdout] 225 |     assert_eq!(first_readout[15..30], first_copy_data);
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:226:30
[INFO] [stdout]     |
[INFO] [stdout] 226 |     assert_eq!(first_readout[45..60], first_copy_data);
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:227:30
[INFO] [stdout]     |
[INFO] [stdout] 227 |     assert_eq!(first_readout[60..64], first_copy_data[0..4]);
[INFO] [stdout]     |                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:227:55
[INFO] [stdout]     |
[INFO] [stdout] 227 |     assert_eq!(first_readout[60..64], first_copy_data[0..4]);
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:237:15
[INFO] [stdout]     |
[INFO] [stdout] 237 |     for _i in 0..256 {
[INFO] [stdout]     |               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:249:46
[INFO] [stdout]     |
[INFO] [stdout] 249 |     first_copy_data.clone_from_slice(&buffer[(TEST_RING_SIZE - 125)..TEST_RING_SIZE]);
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:253:15
[INFO] [stdout]     |
[INFO] [stdout] 253 |     for _i in 0..64 {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:268:30
[INFO] [stdout]     |
[INFO] [stdout] 268 |     assert_eq!(first_readout[64..125], first_copy_data[64..]);
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:268:56
[INFO] [stdout]     |
[INFO] [stdout] 268 |     assert_eq!(first_readout[64..125], first_copy_data[64..]);
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:269:30
[INFO] [stdout]     |
[INFO] [stdout] 269 |     assert_eq!(first_readout[125..127], first_copy_data[..2]);
[INFO] [stdout]     |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:271:30
[INFO] [stdout]     |
[INFO] [stdout] 271 |     assert_eq!(first_readout[64..125], first_copy_data[64..]);
[INFO] [stdout]     |                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:271:56
[INFO] [stdout]     |
[INFO] [stdout] 271 |     assert_eq!(first_readout[64..125], first_copy_data[64..]);
[INFO] [stdout]     |                                                        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:272:30
[INFO] [stdout]     |
[INFO] [stdout] 272 |     assert_eq!(first_readout[125..127], first_copy_data[..2]);
[INFO] [stdout]     |                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:275:28
[INFO] [stdout]     |
[INFO] [stdout] 275 |     assert_eq!(sec_readout[0..123], first_copy_data[2..125]);
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:275:53
[INFO] [stdout]     |
[INFO] [stdout] 275 |     assert_eq!(sec_readout[0..123], first_copy_data[2..125]);
[INFO] [stdout]     |                                                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:276:28
[INFO] [stdout]     |
[INFO] [stdout] 276 |     assert_eq!(sec_readout[123..127], first_copy_data[0..4]);
[INFO] [stdout]     |                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:276:55
[INFO] [stdout]     |
[INFO] [stdout] 276 |     assert_eq!(sec_readout[123..127], first_copy_data[0..4]);
[INFO] [stdout]     |                                                       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:277:15
[INFO] [stdout]     |
[INFO] [stdout] 277 |     for _i in 0..16 {
[INFO] [stdout]     |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:290:29
[INFO] [stdout]     |
[INFO] [stdout] 290 |     assert_eq!(last_readout[0..4], first_copy_data[4..8]);
[INFO] [stdout]     |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:290:52
[INFO] [stdout]     |
[INFO] [stdout] 290 |     assert_eq!(last_readout[0..4], first_copy_data[4..8]);
[INFO] [stdout]     |                                                    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:346:34
[INFO] [stdout]     |
[INFO] [stdout] 346 |         assert_eq!(&last_readout[0..last_index], &values_to_read[..last_index]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/test.rs:386:14
[INFO] [stdout]     |
[INFO] [stdout] 386 |     for i in 0..512 {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/cmd_to_raw/mod.rs:72:18
[INFO] [stdout]    |
[INFO] [stdout] 72 |         for i in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/cmd_to_raw/mod.rs:95:20
[INFO] [stdout]    |
[INFO] [stdout] 95 |             output[*output_offset..(*output_offset + amount_to_copy)].clone_from_slice(
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/cmd_to_raw/mod.rs:96:43
[INFO] [stdout]    |
[INFO] [stdout] 96 |                   &self.ring_buffer.slice()[self.state.ring_buffer_output_index as usize..(self.state.ring_buffer_output_index as usize
[INFO] [stdout]    |  ___________________________________________^
[INFO] [stdout] 97 | |                                                                          + amount_to_copy)]);
[INFO] [stdout]    | |__________________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/mod.rs:227:18
[INFO] [stdout]     |
[INFO] [stdout] 227 |         for i in (self.state.input_sub_offset as usize)..(copy.num_bytes as usize){
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/mod.rs:255:23
[INFO] [stdout]     |
[INFO] [stdout] 255 |             for _i in 0..num_repeat_iter {
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/cmd_to_raw/mod.rs:290:26
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let word = &dict[(word_index as usize)..(word_index as usize + copy_len as usize)];
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `SliceWrapperMut`, `SliceWrapper`, `StackAllocator`
[INFO] [stdout]   --> src/raw_to_cmd/hash_match.rs:16:17
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^             ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::slice_util::SliceReference`
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub use super::slice_util::SliceReference;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `CopyCommand`, `DictCommand`
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:22:91
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use super::interface::{PredictionModeContextMap, Command, Compressor, LiteralCommand, CopyCommand, DictCommand, FeatureFlagSliceType};
[INFO] [stdout]    |                                                                                           ^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:66:42
[INFO] [stdout]    |
[INFO] [stdout] 66 | ...   self.ring_buffer.slice_mut()[(self.ring_buffer_decode_index as usize)..(self.ring_buffer_decode_index as usize + max_copy)].clone_f...
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:66:161
[INFO] [stdout]    |
[INFO] [stdout] 66 | ...as usize + max_copy)].clone_from_slice(&input[*input_offset..(*input_offset + max_copy)]);
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:79:41
[INFO] [stdout]    |
[INFO] [stdout] 79 | ...   self.ring_buffer.slice_mut()[(self.ring_buffer_decode_index as usize)..(self.ring_buffer_decode_index as usize + max_copy)].clone_f...
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/raw_to_cmd/mod.rs:79:160
[INFO] [stdout]    |
[INFO] [stdout] 79 | ...as usize + max_copy)].clone_from_slice(&input[*input_offset..(*input_offset + max_copy)]);
[INFO] [stdout]    |                                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/raw_to_cmd/mod.rs:120:58
[INFO] [stdout]     |
[INFO] [stdout] 120 |             for (index, item) in prediction_mode_backing[super::interface::DISTANCE_CONTEXT_MAP_OFFSET..].iter_mut().enumerate() {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/raw_to_cmd/mod.rs:123:49
[INFO] [stdout]     |
[INFO] [stdout] 123 | ...on_mode_backing[super::interface::MIXING_OFFSET..super::interface::MIXING_OFFSET + super::interface::NUM_MIXING_VALUES].iter_mut() {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CrossCommandBookKeeping`
[INFO] [stdout]  --> src/codec/specializations.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use super::interface::{CrossCommandBookKeeping,LiteralBookKeeping};
[INFO] [stdout]   |                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/crc32_table.rs:594:14
[INFO] [stdout]     |
[INFO] [stdout] 594 |     for i in 0..256 {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/crc32_table.rs:596:18
[INFO] [stdout]     |
[INFO] [stdout] 596 |         for j in 1..16 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/crc32_table.rs:602:14
[INFO] [stdout]     |
[INFO] [stdout] 602 |     for j in 0..16 {
[INFO] [stdout]     |              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/crc32_table.rs:617:14
[INFO] [stdout]     |
[INFO] [stdout] 617 |     for i in 0u32..256u32 {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/crc32_table.rs:619:18
[INFO] [stdout]     |
[INFO] [stdout] 619 |         for _ in 0..8 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:87:68
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:87:89
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn get_source_copy_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a CopyCommand) -> &'a CopyCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a CopyCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:88:79
[INFO] [stdout]    |
[INFO] [stdout] 88 |     fn get_source_literal_command<'a, ISlice:SliceWrapper<u8>+Default>(&self, &'a Command<ISlice>,
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:89:72
[INFO] [stdout]    |
[INFO] [stdout] 89 | ...                   &'a LiteralCommand<ISlice>) -> &'a LiteralCommand<ISlice>;
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a LiteralCommand<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:90:68
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a Command<ISlice>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/codec/interface.rs:90:89
[INFO] [stdout]    |
[INFO] [stdout] 90 |     fn get_source_dict_command<'a, ISlice:SliceWrapper<u8>>(&self, &'a Command<ISlice>, &'a DictCommand) -> &'a DictCommand;
[INFO] [stdout]    |                                                                                         ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &'a DictCommand`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/codec/interface.rs:306:60
[INFO] [stdout]     |
[INFO] [stdout] 306 |         for (out_item, in_item) in self.literal_adaptation[2..].iter_mut().zip(pm.context_map_speed_f8().iter()) {
[INFO] [stdout]     |                                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/interface.rs:444:35
[INFO] [stdout]     |
[INFO] [stdout] 444 |                     self.cmap_lru[1..index + 1].clone_from_slice(&tmp[..index]);
[INFO] [stdout]     |                                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/codec/interface.rs:445:35
[INFO] [stdout]     |
[INFO] [stdout] 445 |                     self.cmap_lru[index + 1..].clone_from_slice(&tmp[(index + 1)..]);
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/codec/interface.rs:445:70
[INFO] [stdout]     |
[INFO] [stdout] 445 |                     self.cmap_lru[index + 1..].clone_from_slice(&tmp[(index + 1)..]);
[INFO] [stdout]     |                                                                      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/codec/interface.rs:450:31
[INFO] [stdout]     |
[INFO] [stdout] 450 |                 self.cmap_lru[1..].clone_from_slice(&tmp[..(tmp.len() - 1)]);
[INFO] [stdout]     |                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/interface.rs:470:18
[INFO] [stdout]     |
[INFO] [stdout] 470 |         for i in 0..15 {
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CrossCommandBookKeeping`
[INFO] [stdout]   --> src/codec/mod.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     CrossCommandBookKeeping,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/copy.rs:241:52
[INFO] [stdout]     |
[INFO] [stdout] 241 |                     for next_len_remaining_sr2 in (0..((start_len_remaining as usize + 3) >> 2)).rev() {
[INFO] [stdout]     |                                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/dict.rs:158:38
[INFO] [stdout]     |
[INFO] [stdout] 158 |                     let word = &dict[(self.dc.word_id as usize)..(self.dc.word_id as usize + self.dc.word_size as usize)];
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/literal.rs:293:59
[INFO] [stdout]     |
[INFO] [stdout] 293 |       for (byte_offset, lc_target) in lc_data.slice_mut()[start_byte_index..last_llen as usize].iter_mut().enumerate() {
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/mod.rs:458:34
[INFO] [stdout]     |
[INFO] [stdout] 458 |                     for index in 0..NUM_ARITHMETIC_CODERS {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/codec/mod.rs:487:34
[INFO] [stdout]     |
[INFO] [stdout] 487 |                     for index in 0..NUM_ARITHMETIC_CODERS {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test_ans.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         for i in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:219:37
[INFO] [stdout]     |
[INFO] [stdout] 219 |                 q.pop_data(&mut dst[*n  .. *n + qb]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:241:33
[INFO] [stdout]     |
[INFO] [stdout] 241 |             q.pop_data(&mut dst[*n  .. *n + qb]);
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:266:29
[INFO] [stdout]     |
[INFO] [stdout] 266 |         q.pop_data(&mut dst[*n .. *n + qb]);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:286:34
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let p = q.push_data(&src[*n  .. *n + sz]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:321:34
[INFO] [stdout]     |
[INFO] [stdout] 321 |                 q.push_data(&src[*n .. *n + sz]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:342:30
[INFO] [stdout]     |
[INFO] [stdout] 342 |             q.push_data(&src[*n .. *n + sz]);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:377:19
[INFO] [stdout]     |
[INFO] [stdout] 377 |         for i in (0..8).rev() {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:384:37
[INFO] [stdout]     |
[INFO] [stdout] 384 |                 q.pop_data(&mut dst[*n  .. *n + qb]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:398:37
[INFO] [stdout]     |
[INFO] [stdout] 398 |                 q.pop_data(&mut dst[*n  .. *n + qb]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:408:37
[INFO] [stdout]     |
[INFO] [stdout] 408 |                 q.pop_data(&mut dst[*n  .. *n + qb]);
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:417:29
[INFO] [stdout]     |
[INFO] [stdout] 417 |         q.pop_data(&mut dst[*n .. *n + qb]);
[INFO] [stdout]     |                             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:431:34
[INFO] [stdout]     |
[INFO] [stdout] 431 |         let p = q.push_data(&src[*n  .. *n + sz]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:438:18
[INFO] [stdout]     |
[INFO] [stdout] 438 |         for b in 0..8 {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:447:34
[INFO] [stdout]     |
[INFO] [stdout] 447 |                 q.push_data(&src[*n .. *n + sz]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:462:34
[INFO] [stdout]     |
[INFO] [stdout] 462 |                 q.push_data(&src[*n .. *n + sz]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/test_ans.rs:472:30
[INFO] [stdout]     |
[INFO] [stdout] 472 |             q.push_data(&src[*n .. *n + sz]);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/test_mux.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 41 |     assert_eq!(&v[v.len() - 3..], &super::mux::EOF_MARKER[..]);
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/test_mux.rs:49:18
[INFO] [stdout]    |
[INFO] [stdout] 49 |         dv = &dv[actually_deserialized..];
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/test_mux.rs:50:26
[INFO] [stdout]    |
[INFO] [stdout] 50 |         for stream_id in 0..input.len() {
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/test_mux.rs:1205:48
[INFO] [stdout]      |
[INFO] [stdout] 1205 |     assert_eq!(mux.edit(0).slice(), &to_decode[3..3+16]);
[INFO] [stdout]      |                                                ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]     --> src/test_mux.rs:1206:48
[INFO] [stdout]      |
[INFO] [stdout] 1206 |     assert_eq!(mux.edit(1).slice(), &to_decode[6+16..6+32]);
[INFO] [stdout]      |                                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/ans.rs:86:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         &sl[self.nbytes ..  sl.len()]
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ans.rs:123:36
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let sl = self.data.slice()[self.nbytes .. self.nbytes + n].iter();
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/ans.rs:139:24
[INFO] [stdout]     |
[INFO] [stdout] 139 | const SCALE_MASK:u64 = ((1u64 << LOG2_SCALE) - 1);
[INFO] [stdout]     |                        ^                        ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 139 - const SCALE_MASK:u64 = ((1u64 << LOG2_SCALE) - 1);
[INFO] [stdout] 139 + const SCALE_MASK:u64 = (1u64 << LOG2_SCALE) - 1;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ans.rs:199:22
[INFO] [stdout]     |
[INFO] [stdout] 199 |             for i in 0..bytes_to_copy {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ans.rs:210:18
[INFO] [stdout]     |
[INFO] [stdout] 210 |         for i in 0..bytes_to_copy {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `SliceWrapperMut`, `StackAllocator`
[INFO] [stdout]   --> src/brotli_ir_gen.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use super::alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockSwitch`, `CopyCommand`, `Decompressor`, `DictCommand`, `FeatureFlagSliceType`, `LiteralBlockSwitch`, `LiteralCommand`, `LiteralPredictionModeNibble`, `Nop`, `free_cmd`
[INFO] [stdout]   --> src/brotli_ir_gen.rs:22:28
[INFO] [stdout]    |
[INFO] [stdout] 22 | ...::{BlockSwitch, LiteralBlockSwitch, Command, Compressor, CopyCommand, Decompressor, DictCommand, LiteralCommand, Nop, NewWithAllocator, ArithmeticEncoderOrDecoder, LiteralPredictionModeNibble, PredictionModeContextMap, free_cmd, FeatureFlagSliceTy...
[INFO] [stdout]    |       ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^                       ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^                            ^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncoderOrDecoderSpecialization`, `StrideSelection`
[INFO] [stdout]   --> src/brotli_ir_gen.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub use codec::{EncoderOrDecoderSpecialization, DivansCodec, StrideSelection};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]   --> src/divans_compressor.rs:26:24
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub use super::alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockSwitch`, `CopyCommand`, `Decompressor`, `DictCommand`, `LiteralBlockSwitch`, `LiteralPredictionModeNibble`, `Nop`, `free_cmd`
[INFO] [stdout]   --> src/divans_compressor.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 |     BlockSwitch,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 33 |     LiteralBlockSwitch,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     CopyCommand,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 37 |     Decompressor,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 38 |     DictCommand,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 39 |     LiteralCommand,
[INFO] [stdout] 40 |     Nop,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     LiteralPredictionModeNibble,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     free_cmd,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `EncoderOrDecoderSpecialization`, `StrideSelection`, `default_crc`
[INFO] [stdout]   --> src/divans_compressor.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub use codec::{EncoderOrDecoderSpecialization, DivansCodec, StrideSelection, default_crc, CommandArray, CommandSliceArray};
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^               ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 |     retval[0..interface::MAGIC_NUMBER.len()].clone_from_slice(&interface::MAGIC_NUMBER[..]);
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:134:32
[INFO] [stdout]     |
[INFO] [stdout] 134 |    for (thawed, frozen) in ret[start_index..end_index].iter_mut().zip(input[start_index..end_index].iter()) {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:134:77
[INFO] [stdout]     |
[INFO] [stdout] 134 |    for (thawed, frozen) in ret[start_index..end_index].iter_mut().zip(input[start_index..end_index].iter()) {
[INFO] [stdout]     |                                                                             ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:157:50
[INFO] [stdout]     |
[INFO] [stdout] 157 |           let to_write = &make_header(window_size)[*header_progress..
[INFO] [stdout]     |  __________________________________________________^
[INFO] [stdout] 158 | |                                                  (*header_progress + bytes_avail)];
[INFO] [stdout]     | |_________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:166:46
[INFO] [stdout]     |
[INFO] [stdout] 166 |     let to_write = &make_header(window_size)[*header_progress..];
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 167 |     output[*output_offset..(*output_offset + interface::HEADER_LENGTH - *header_progress)].clone_from_slice(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:332:34
[INFO] [stdout]     |
[INFO] [stdout] 332 |                         &temp_bs[out_cmd_offset..temp_cmd_offset]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_compressor.rs:415:34
[INFO] [stdout]     |
[INFO] [stdout] 415 |                         &temp_bs[out_cmd_offset..temp_cmd_offset]);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/divans_decompressor.rs:62:34
[INFO] [stdout]    |
[INFO] [stdout] 62 |             header_parser.header[header_parser.read_offset..].clone_from_slice(
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/divans_decompressor.rs:73:34
[INFO] [stdout]    |
[INFO] [stdout] 73 |               header_parser.header[(header_parser.read_offset)..
[INFO] [stdout]    |  __________________________________^
[INFO] [stdout] 74 | |                                  (header_parser.read_offset+remaining)].clone_from_slice(
[INFO] [stdout]    | |______________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/divans_decompressor.rs:169:26
[INFO] [stdout]     |
[INFO] [stdout] 169 |             for index in 0..NUM_ARITHMETIC_CODERS {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/parallel_decompressor.rs:162:26
[INFO] [stdout]     |
[INFO] [stdout] 162 |             for index in 0..NUM_ARITHMETIC_CODERS {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/ir_optimize/cache.rs:84:21
[INFO] [stdout]    |
[INFO] [stdout] 84 |         for code in 0..15 {
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ir_optimize/mod.rs:190:18
[INFO] [stdout]     |
[INFO] [stdout] 190 |     for index in 1..orig_buf.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ir_optimize/mod.rs:246:18
[INFO] [stdout]     |
[INFO] [stdout] 246 |     for index in eligible_index..orig_buf.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/ir_optimize/mod.rs:265:18
[INFO] [stdout]     |
[INFO] [stdout] 265 |     for index in 0..orig_buf.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mux.rs:171:22
[INFO] [stdout]     |
[INFO] [stdout] 171 |         for index in 0..NUM_STREAMS {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mux.rs:214:22
[INFO] [stdout]     |
[INFO] [stdout] 214 |         for index in 0..NUM_STREAMS as usize {
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mux.rs:312:26
[INFO] [stdout]     |
[INFO] [stdout] 312 |                 for i in 0..hdr.len(){
[INFO] [stdout]     |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mux.rs:319:26
[INFO] [stdout]     |
[INFO] [stdout] 319 |                 for i in 0..hdr.len(){
[INFO] [stdout]     |                          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/mux.rs:454:38
[INFO] [stdout]     |
[INFO] [stdout] 454 |            for lf in self.last_flush[1..].iter() {
[INFO] [stdout]     |                                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mux.rs:462:25
[INFO] [stdout]     |
[INFO] [stdout] 462 |            for index in 0..(NUM_STREAMS as usize) {
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/mux.rs:538:26
[INFO] [stdout]     |
[INFO] [stdout] 538 |             for index in 0..(NUM_STREAMS as usize) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]  --> src/reader.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/reader.rs:53:73
[INFO] [stdout]    |
[INFO] [stdout] 53 |                match self.input.read(&mut self.input_buffer.slice_mut()[self.input_len..]) {
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/reader.rs:130:19
[INFO] [stdout]     |
[INFO] [stdout] 130 |             first[0..avail_in].clone_from_slice(&second[0..avail_in]);
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/reader.rs:130:57
[INFO] [stdout]     |
[INFO] [stdout] 130 |             first[0..avail_in].clone_from_slice(&second[0..avail_in]);
[INFO] [stdout]     |                                                         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/reader.rs:347:21
[INFO] [stdout]     |
[INFO] [stdout] 347 |                 buf[0..bytes_to_read].clone_from_slice(&self.data[self.read_offset..
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/reader.rs:347:67
[INFO] [stdout]     |
[INFO] [stdout] 347 |                   buf[0..bytes_to_read].clone_from_slice(&self.data[self.read_offset..
[INFO] [stdout]     |  ___________________________________________________________________^
[INFO] [stdout] 348 | |                                                                   self.read_offset + bytes_to_read]);
[INFO] [stdout]     | |__________________________________________________________________________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/reader.rs:407:42
[INFO] [stdout]     |
[INFO] [stdout] 407 |                         assert_eq!(&data[offset..offset+size], &local_buffer[..size]);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/reader.rs:436:42
[INFO] [stdout]     |
[INFO] [stdout] 436 |                         assert_eq!(&data[offset..offset+size], &local_buffer[..size]);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AllocatedStackMemory`, `StackAllocator`
[INFO] [stdout]  --> src/writer.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub use alloc::{AllocatedStackMemory, Allocator, SliceWrapper, SliceWrapperMut, StackAllocator};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^^                                            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/writer.rs:363:44
[INFO] [stdout]     |
[INFO] [stdout] 363 |                 match compress.write(&data[offset..core::cmp::min(offset + buffer_size, data.len())]) {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/writer.rs:398:44
[INFO] [stdout]     |
[INFO] [stdout] 398 |                 match compress.write(&data[offset..core::cmp::min(offset + buffer_size, data.len())]) {
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:272:5
[INFO] [stdout]     |
[INFO] [stdout] 272 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 280 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 368 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 386 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:390:5
[INFO] [stdout]     |
[INFO] [stdout] 390 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:393:5
[INFO] [stdout]     |
[INFO] [stdout] 393 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:405:5
[INFO] [stdout]     |
[INFO] [stdout] 405 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]  --> src/ffi/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 4 | use core;
[INFO] [stdout]   | --------- not a free function, impl method or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]  --> src/ffi/interface.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 8 | pub type DivansReturnCode = u8;
[INFO] [stdout]   | ------------------------------- not a free function, impl method or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]   --> src/ffi/interface.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 42 |   #[derive(Clone)]
[INFO] [stdout] 43 | / pub struct CAllocator {
[INFO] [stdout] 44 | |     pub alloc_func: Option<extern "C" fn(data: *mut c_void, size: usize) -> *mut c_void>,
[INFO] [stdout] 45 | |     pub free_func: Option<extern "C" fn(data: *mut c_void, ptr: *mut c_void) -> ()>,
[INFO] [stdout] 46 | |     pub opaque: *mut c_void,
[INFO] [stdout] 47 | | }
[INFO] [stdout]    | |_- not a free function, impl method or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]    --> src/ffi/compressor.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] 268 | / pub struct DivansCompressorState {
[INFO] [stdout] 269 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 270 | |     pub compressor: CompressorState
[INFO] [stdout] 271 | | }
[INFO] [stdout]     | |_- not a free function, impl method or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]   --> src/ffi/decompressor.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 10 | / pub struct DivansDecompressorState {
[INFO] [stdout] 11 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 12 | |     pub decompressor: ::DivansDecompressor<<DecompressorFactory as ::DivansDecompressorFactory<SubclassableAllocator<u8>,  SubclassableAl...
[INFO] [stdout] 13 | |                                            SubclassableAllocator<u8>,
[INFO] [stdout] 14 | |                                            SubclassableAllocator<::DefaultCDF16>,
[INFO] [stdout] 15 | |                                            SubclassableAllocator<StaticCommand>>,
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_- not a free function, impl method or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:266:5
[INFO] [stdout]     |
[INFO] [stdout] 266 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:268:5
[INFO] [stdout]     |
[INFO] [stdout] 268 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:272:5
[INFO] [stdout]     |
[INFO] [stdout] 272 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:274:5
[INFO] [stdout]     |
[INFO] [stdout] 274 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:276:5
[INFO] [stdout]     |
[INFO] [stdout] 276 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:278:5
[INFO] [stdout]     |
[INFO] [stdout] 278 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:280:5
[INFO] [stdout]     |
[INFO] [stdout] 280 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:282:5
[INFO] [stdout]     |
[INFO] [stdout] 282 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:284:5
[INFO] [stdout]     |
[INFO] [stdout] 284 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:288:5
[INFO] [stdout]     |
[INFO] [stdout] 288 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:368:5
[INFO] [stdout]     |
[INFO] [stdout] 368 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:386:5
[INFO] [stdout]     |
[INFO] [stdout] 386 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:390:5
[INFO] [stdout]     |
[INFO] [stdout] 390 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:393:5
[INFO] [stdout]     |
[INFO] [stdout] 393 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]    --> src/interface.rs:405:5
[INFO] [stdout]     |
[INFO] [stdout] 405 |     #[inline(always)]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn cause(&self) -> Option<&error::Error> {None}
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn cause(&self) -> Option<&dyn error::Error> {None}
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/arithmetic_coder.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[inline]` is ignored on function prototypes
[INFO] [stdout]   --> src/threading.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     #[inline(always)]
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]  --> src/ffi/mod.rs:3:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 4 | use core;
[INFO] [stdout]   | --------- not a free function, impl method or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]  --> src/ffi/interface.rs:7:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[no_mangle]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout] 8 | pub type DivansReturnCode = u8;
[INFO] [stdout]   | ------------------------------- not a free function, impl method or static
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]   --> src/ffi/interface.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 42 |   #[derive(Clone)]
[INFO] [stdout] 43 | / pub struct CAllocator {
[INFO] [stdout] 44 | |     pub alloc_func: Option<extern "C" fn(data: *mut c_void, size: usize) -> *mut c_void>,
[INFO] [stdout] 45 | |     pub free_func: Option<extern "C" fn(data: *mut c_void, ptr: *mut c_void) -> ()>,
[INFO] [stdout] 46 | |     pub opaque: *mut c_void,
[INFO] [stdout] 47 | | }
[INFO] [stdout]    | |_- not a free function, impl method or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]    --> src/ffi/compressor.rs:267:1
[INFO] [stdout]     |
[INFO] [stdout] 267 |   #[no_mangle]
[INFO] [stdout]     |   ^^^^^^^^^^^^
[INFO] [stdout] 268 | / pub struct DivansCompressorState {
[INFO] [stdout] 269 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 270 | |     pub compressor: CompressorState
[INFO] [stdout] 271 | | }
[INFO] [stdout]     | |_- not a free function, impl method or static
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: attribute should be applied to a free function, impl method or static
[INFO] [stdout]   --> src/ffi/decompressor.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout] 9  |   #[no_mangle]
[INFO] [stdout]    |   ^^^^^^^^^^^^
[INFO] [stdout] 10 | / pub struct DivansDecompressorState {
[INFO] [stdout] 11 | |     pub custom_allocator: CAllocator,
[INFO] [stdout] 12 | |     pub decompressor: ::DivansDecompressor<<DecompressorFactory as ::DivansDecompressorFactory<SubclassableAllocator<u8>,  SubclassableAl...
[INFO] [stdout] 13 | |                                            SubclassableAllocator<u8>,
[INFO] [stdout] 14 | |                                            SubclassableAllocator<::DefaultCDF16>,
[INFO] [stdout] 15 | |                                            SubclassableAllocator<StaticCommand>>,
[INFO] [stdout] 16 | | }
[INFO] [stdout]    | |_- not a free function, impl method or static
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/reader.rs:24:32
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn cause(&self) -> Option<&error::Error> {None}
[INFO] [stdout]    |                                ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn cause(&self) -> Option<&dyn error::Error> {None}
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/copy.rs:91:25
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:175:29
[INFO] [stdout]     |
[INFO] [stdout] 175 |                         let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                             ----^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:231:25
[INFO] [stdout]     |
[INFO] [stdout] 231 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:250:33
[INFO] [stdout]     |
[INFO] [stdout] 250 | ...                   let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                           ----^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/dict.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeBegNib, (ctype,));
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     let mut nibble_prob = superstate.bk.dict_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:139:25
[INFO] [stdout]     |
[INFO] [stdout] 139 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:150:25
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:294:16
[INFO] [stdout]     |
[INFO] [stdout] 294 |            let mut byte_to_encode_val = specialization.get_literal_byte(in_cmd,
[INFO] [stdout]     |                ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:572:25
[INFO] [stdout]     |
[INFO] [stdout] 572 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:600:25
[INFO] [stdout]     |
[INFO] [stdout] 600 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeBegNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:625:25
[INFO] [stdout]     |
[INFO] [stdout] 625 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:640:25
[INFO] [stdout]     |
[INFO] [stdout] 640 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeMantissaNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:707:30
[INFO] [stdout]     |
[INFO] [stdout] 707 |                         Some(mut lc) => {
[INFO] [stdout]     |                              ----^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Only, (0,));
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:195:28
[INFO] [stdout]     |
[INFO] [stdout] 195 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:235:24
[INFO] [stdout]     |
[INFO] [stdout] 235 |                    let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::ContextMapSpeedPalette,
[INFO] [stdout]     |                        ----^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:291:28
[INFO] [stdout]     |
[INFO] [stdout] 291 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Mnemonic, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:320:28
[INFO] [stdout]     |
[INFO] [stdout] 320 |                        let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                            ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:343:24
[INFO] [stdout]     |
[INFO] [stdout] 343 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::FirstNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:363:28
[INFO] [stdout]     |
[INFO] [stdout] 363 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::SecondNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:371:24
[INFO] [stdout]     |
[INFO] [stdout] 371 |                    let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                        ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:395:24
[INFO] [stdout]     |
[INFO] [stdout] 395 |                    let mut prior = if index >= 256 && self.pm.has_context_speeds() {
[INFO] [stdout]     |                        ----^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:401:28
[INFO] [stdout]     |
[INFO] [stdout] 401 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::Mnemonic,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::FirstNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::SecondNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/block_type.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::StrideNibble,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir_optimize/mod.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 let mut should_merge = match should_merge(lit, copy, index, mb, &mut actuary, &mut distance_cache) {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mux.rs:463:20
[INFO] [stdout]     |
[INFO] [stdout] 463 |                let mut is_lagging = max_flush  > MAX_FLUSH_VARIANCE + self.last_flush[index];
[INFO] [stdout]     |                    ----^^^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/copy.rs:91:25
[INFO] [stdout]    |
[INFO] [stdout] 91 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:145:25
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:175:29
[INFO] [stdout]     |
[INFO] [stdout] 175 |                         let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                             ----^^^^^^^^^^^
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:204:25
[INFO] [stdout]     |
[INFO] [stdout] 204 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:231:25
[INFO] [stdout]     |
[INFO] [stdout] 231 |                     let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/copy.rs:250:33
[INFO] [stdout]     |
[INFO] [stdout] 250 | ...                   let mut nibble_prob = superstate.bk.copy_priors.get(
[INFO] [stdout]     |                           ----^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/dict.rs:84:25
[INFO] [stdout]    |
[INFO] [stdout] 84 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeBegNib, (ctype,));
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:100:25
[INFO] [stdout]     |
[INFO] [stdout] 100 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:119:25
[INFO] [stdout]     |
[INFO] [stdout] 119 |                     let mut nibble_prob = superstate.bk.dict_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:139:25
[INFO] [stdout]     |
[INFO] [stdout] 139 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/dict.rs:150:25
[INFO] [stdout]     |
[INFO] [stdout] 150 |                     let mut nibble_prob = superstate.bk.dict_priors.get(DictCommandNibblePriorType::Transform,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:294:16
[INFO] [stdout]     |
[INFO] [stdout] 294 |            let mut byte_to_encode_val = specialization.get_literal_byte(in_cmd,
[INFO] [stdout]     |                ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                |
[INFO] [stdout]     |                help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:572:25
[INFO] [stdout]     |
[INFO] [stdout] 572 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:600:25
[INFO] [stdout]     |
[INFO] [stdout] 600 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeBegNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:625:25
[INFO] [stdout]     |
[INFO] [stdout] 625 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeLastNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:640:25
[INFO] [stdout]     |
[INFO] [stdout] 640 |                     let mut nibble_prob = superstate.bk.lit_len_priors.get(LiteralCommandPriorType::SizeMantissaNib, (ctype,));
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/literal.rs:707:30
[INFO] [stdout]     |
[INFO] [stdout] 707 |                         Some(mut lc) => {
[INFO] [stdout]     |                              ----^^
[INFO] [stdout]     |                              |
[INFO] [stdout]     |                              help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:174:28
[INFO] [stdout]     |
[INFO] [stdout] 174 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Only, (0,));
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:195:28
[INFO] [stdout]     |
[INFO] [stdout] 195 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:211:28
[INFO] [stdout]     |
[INFO] [stdout] 211 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:235:24
[INFO] [stdout]     |
[INFO] [stdout] 235 |                    let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::ContextMapSpeedPalette,
[INFO] [stdout]     |                        ----^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:291:28
[INFO] [stdout]     |
[INFO] [stdout] 291 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::Mnemonic, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:320:28
[INFO] [stdout]     |
[INFO] [stdout] 320 |                        let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                            ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:343:24
[INFO] [stdout]     |
[INFO] [stdout] 343 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::FirstNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:363:28
[INFO] [stdout]     |
[INFO] [stdout] 363 | ...   let mut nibble_prob = superstate.bk.prediction_priors.get(PredictionModePriorType::SecondNibble, (context_map_type as usize,));
[INFO] [stdout]     |           ----^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:371:24
[INFO] [stdout]     |
[INFO] [stdout] 371 |                    let mut out_context_map = match context_map_type {
[INFO] [stdout]     |                        ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:395:24
[INFO] [stdout]     |
[INFO] [stdout] 395 |                    let mut prior = if index >= 256 && self.pm.has_context_speeds() {
[INFO] [stdout]     |                        ----^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/context_map.rs:401:28
[INFO] [stdout]     |
[INFO] [stdout] 401 |                        let mut nibble_prob = superstate.bk.prediction_priors.get(
[INFO] [stdout]     |                            ----^^^^^^^^^^^
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:72:25
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::Mnemonic,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:88:25
[INFO] [stdout]    |
[INFO] [stdout] 88 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::FirstNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/codec/block_type.rs:97:25
[INFO] [stdout]    |
[INFO] [stdout] 97 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::SecondNibble,
[INFO] [stdout]    |                         ----^^^^^^^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codec/block_type.rs:181:25
[INFO] [stdout]     |
[INFO] [stdout] 181 |                     let mut nibble_prob = superstate.bk.btype_priors.get(BlockTypePriorType::StrideNibble,
[INFO] [stdout]     |                         ----^^^^^^^^^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put_8bit` is never used
[INFO] [stdout]    --> src/arithmetic_coder.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 84  | pub trait EntropyEncoder {
[INFO] [stdout]     |           -------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn put_8bit(&mut self,
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/multithreading.rs:52:20
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct ThreadEvent(ThreadEventType, u32, Duration);
[INFO] [stdout]    |        ----------- ^^^^^^^^^^^^^^^  ^^^  ^^^^^^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        fields in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ThreadEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct ThreadEvent((), (), ());
[INFO] [stdout]    |                    ~~  ~~  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public struct field
[INFO] [stdout]    --> src/slice_util.rs:195:90
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct AllocatedMemoryRange<T, AllocT:Allocator<T>>(pub AllocT::AllocatedMemory, pub core::ops::Range<usize>);
[INFO] [stdout]     |                                                                                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D explicit-range`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: explicit usage of `Range` type in public function
[INFO] [stdout]    --> src/slice_util.rs:239:58
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn realloc(mem : AllocT::AllocatedMemory, range: core::ops::Range<usize>) -> Self {
[INFO] [stdout]     |                                                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:215:17
[INFO] [stdout]     |
[INFO] [stdout] 215 |             let mut q = e.get_internal_buffer_mut();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:237:13
[INFO] [stdout]     |
[INFO] [stdout] 237 |         let mut q = e.get_internal_buffer_mut();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:317:17
[INFO] [stdout]     |
[INFO] [stdout] 317 |             let mut q = d.get_internal_buffer_mut();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:338:13
[INFO] [stdout]     |
[INFO] [stdout] 338 |         let mut q = d.get_internal_buffer_mut();
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:380:17
[INFO] [stdout]     |
[INFO] [stdout] 380 |             let mut q = e.get_internal_buffer_mut();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/test_ans.rs:443:17
[INFO] [stdout]     |
[INFO] [stdout] 443 |             let mut q = d.get_internal_buffer_mut();
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/brotli_ir_gen.rs:131:16
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!(m)
[INFO] [stdout]     |                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!("{}", m)
[INFO] [stdout]     |                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 131 |         std::panic::panic_any(m)
[INFO] [stdout]     |         ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/divans_decompressor.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 | /         core::mem::replace(self,
[INFO] [stdout] 283 | |                            DivansDecompressor::Decode(
[INFO] [stdout] 284 | |                                DivansProcess::<DefaultDecoder, AllocU8, AllocCDF16, AllocCommand> {
[INFO] [stdout] 285 | |                                    codec:Some(codec),
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |                                    mcommand:mcommand,
[INFO] [stdout] 289 | |                                }));
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let _ = core::mem::replace(self,
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     core::mem::replace(copy, CopyCommand::nop());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     let _ = core::mem::replace(copy, CopyCommand::nop());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:219:21
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     core::mem::replace(&mut item_a[0], Command::Copy(CopyCommand::nop())); // replace with a copy
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     let _ = core::mem::replace(&mut item_a[0], Command::Copy(CopyCommand::nop())); // replace with a copy
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/ffi/alloc_util.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 |     Box::from_raw(slice_ref); // free on drop
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 213 |     let _ = Box::from_raw(slice_ref); // free on drop
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 | /                 core::mem::replace(self,
[INFO] [stdout] 177 | |                                    CompressorState::InternalCompressor(
[INFO] [stdout] 178 | |                                        InternalCompressorFactory::new(
[INFO] [stdout] 179 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |                                            opts,
[INFO] [stdout] 183 | |                                            ())));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 let _ = core::mem::replace(self,
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 | /                 core::mem::replace(self,
[INFO] [stdout] 187 | |                                    CompressorState::BrotliCompressor(
[INFO] [stdout] 188 | |                                        BrotliFactory::new(
[INFO] [stdout] 189 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |                                                SubclassableAllocator::<brotli::enc::StaticCommand>::new(allocators.clone()),
[INFO] [stdout] 210 | |                                            ))));
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 let _ = core::mem::replace(self,
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ir_optimize/mod.rs:198:21
[INFO] [stdout]     |
[INFO] [stdout] 198 |                 let mut should_merge = match should_merge(lit, copy, index, mb, &mut actuary, &mut distance_cache) {
[INFO] [stdout]     |                     ----^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/mux.rs:463:20
[INFO] [stdout]     |
[INFO] [stdout] 463 |                let mut is_lagging = max_flush  > MAX_FLUSH_VARIANCE + self.last_flush[index];
[INFO] [stdout]     |                    ----^^^^^^^^^^
[INFO] [stdout]     |                    |
[INFO] [stdout]     |                    help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 185 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `divans` (lib) due to 3 previous errors; 185 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: method `put_8bit` is never used
[INFO] [stdout]    --> src/arithmetic_coder.rs:122:8
[INFO] [stdout]     |
[INFO] [stdout] 84  | pub trait EntropyEncoder {
[INFO] [stdout]     |           -------------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn put_8bit(&mut self,
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/multithreading.rs:52:20
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct ThreadEvent(ThreadEventType, u32, Duration);
[INFO] [stdout]    |        ----------- ^^^^^^^^^^^^^^^  ^^^  ^^^^^^^^
[INFO] [stdout]    |        |
[INFO] [stdout]    |        fields in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ThreadEvent` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 52 | struct ThreadEvent((), (), ());
[INFO] [stdout]    |                    ~~  ~~  ~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/probability/numeric.rs:78:23
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for n in nums.into_iter() {
[INFO] [stdout]    |                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout]    = note: `#[warn(array_into_iter)]` on by default
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 78 |         for n in nums.iter() {
[INFO] [stdout]    |                       ~~~~
[INFO] [stdout] help: or remove `.into_iter()` to iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 78 -         for n in nums.into_iter() {
[INFO] [stdout] 78 +         for n in nums {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this method call resolves to `<&[T; N] as IntoIterator>::into_iter` (due to backwards compatibility), but will resolve to <[T; N] as IntoIterator>::into_iter in Rust 2021
[INFO] [stdout]   --> src/probability/numeric.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |             for d in denoms.into_iter() {
[INFO] [stdout]    |                             ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this changes meaning in Rust 2021
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/IntoIterator-for-arrays.html>
[INFO] [stdout] help: use `.iter()` instead of `.into_iter()` to avoid ambiguity
[INFO] [stdout]    |
[INFO] [stdout] 79 |             for d in denoms.iter() {
[INFO] [stdout]    |                             ~~~~
[INFO] [stdout] help: or remove `.into_iter()` to iterate by value
[INFO] [stdout]    |
[INFO] [stdout] 79 -             for d in denoms.into_iter() {
[INFO] [stdout] 79 +             for d in denoms {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/brotli_ir_gen.rs:131:16
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!(m)
[INFO] [stdout]     |                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 131 |         panic!("{}", m)
[INFO] [stdout]     |                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 131 |         std::panic::panic_any(m)
[INFO] [stdout]     |         ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/divans_decompressor.rs:282:9
[INFO] [stdout]     |
[INFO] [stdout] 282 | /         core::mem::replace(self,
[INFO] [stdout] 283 | |                            DivansDecompressor::Decode(
[INFO] [stdout] 284 | |                                DivansProcess::<DefaultDecoder, AllocU8, AllocCDF16, AllocCommand> {
[INFO] [stdout] 285 | |                                    codec:Some(codec),
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | |                                    mcommand:mcommand,
[INFO] [stdout] 289 | |                                }));
[INFO] [stdout]     | |__________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 282 |         let _ = core::mem::replace(self,
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:205:21
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     core::mem::replace(copy, CopyCommand::nop());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 205 |                     let _ = core::mem::replace(copy, CopyCommand::nop());
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ir_optimize/mod.rs:219:21
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     core::mem::replace(&mut item_a[0], Command::Copy(CopyCommand::nop())); // replace with a copy
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 219 |                     let _ = core::mem::replace(&mut item_a[0], Command::Copy(CopyCommand::nop())); // replace with a copy
[INFO] [stdout]     |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/ffi/alloc_util.rs:213:5
[INFO] [stdout]     |
[INFO] [stdout] 213 |     Box::from_raw(slice_ref); // free on drop
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 213 |     let _ = Box::from_raw(slice_ref); // free on drop
[INFO] [stdout]     |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:176:17
[INFO] [stdout]     |
[INFO] [stdout] 176 | /                 core::mem::replace(self,
[INFO] [stdout] 177 | |                                    CompressorState::InternalCompressor(
[INFO] [stdout] 178 | |                                        InternalCompressorFactory::new(
[INFO] [stdout] 179 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 182 | |                                            opts,
[INFO] [stdout] 183 | |                                            ())));
[INFO] [stdout]     | |________________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 176 |                 let _ = core::mem::replace(self,
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `core::mem::replace` that must be used
[INFO] [stdout]    --> src/ffi/compressor.rs:186:17
[INFO] [stdout]     |
[INFO] [stdout] 186 | /                 core::mem::replace(self,
[INFO] [stdout] 187 | |                                    CompressorState::BrotliCompressor(
[INFO] [stdout] 188 | |                                        BrotliFactory::new(
[INFO] [stdout] 189 | |                                            SubclassableAllocator::<u8>::new(allocators.clone()),
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |                                                SubclassableAllocator::<brotli::enc::StaticCommand>::new(allocators.clone()),
[INFO] [stdout] 210 | |                                            ))));
[INFO] [stdout]     | |_______________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: if you don't need the old value, you can just assign the new value directly
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |                 let _ = core::mem::replace(self,
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/reader.rs:401:32
[INFO] [stdout]     |
[INFO] [stdout] 401 |                         panic!(e)
[INFO] [stdout]     |                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 401 |                         panic!("{}", e)
[INFO] [stdout]     |                                +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 401 |                         std::panic::panic_any(e)
[INFO] [stdout]     |                         ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/reader.rs:431:38
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     Err(e) => panic!(e),
[INFO] [stdout]     |                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 431 |                     Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |                               ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/writer.rs:364:38
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     Err(e) => panic!(e),
[INFO] [stdout]     |                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 364 |                     Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |                               ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/writer.rs:374:25
[INFO] [stdout]     |
[INFO] [stdout] 374 |                  panic!(e);
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 374 |                  panic!("{}", e);
[INFO] [stdout]     |                         +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 374 |                  std::panic::panic_any(e);
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/writer.rs:399:38
[INFO] [stdout]     |
[INFO] [stdout] 399 |                     Err(e) => panic!(e),
[INFO] [stdout]     |                                      ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 399 |                     Err(e) => panic!("{}", e),
[INFO] [stdout]     |                                      +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 399 |                     Err(e) => std::panic::panic_any(e),
[INFO] [stdout]     |                               ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/writer.rs:409:25
[INFO] [stdout]     |
[INFO] [stdout] 409 |                  panic!(e);
[INFO] [stdout]     |                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 409 |                  panic!("{}", e);
[INFO] [stdout]     |                         +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 409 |                  std::panic::panic_any(e);
[INFO] [stdout]     |                  ~~~~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 300 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5940b81036e4ba6342f1e0a49be3d8acc7e62e8a68fbcd5a0b738c9ba7dc2c7a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5940b81036e4ba6342f1e0a49be3d8acc7e62e8a68fbcd5a0b738c9ba7dc2c7a", kill_on_drop: false }`
[INFO] [stdout] 5940b81036e4ba6342f1e0a49be3d8acc7e62e8a68fbcd5a0b738c9ba7dc2c7a
